home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 March: Reference Library / Dev.CD Mar 96 RL / Dev.CD Mar 96 RL.toast / Technical Documentation / develop / develop Issue 11 / develop Issue 11 code / Exceptions.sea / Exceptions / Exceptions.h < prev    next >
MacBinary  |  1992-07-15  |  25.9 KB  |  [TEXT/MPS ]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Jul 15 15:23:23 1992, modified Wed Jul 15 15:23:23 1992, creator 'MPS ', type ASCII, 25823 bytes "Exceptions.h" , at 0x655f 428 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPS ]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0c 45 78 63 65 70 74 | 69 6f 6e 73 2e 68 00 00 |..Except|ions.h..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 64 df 00 | 00 01 ac a6 8a 2b ab a6 |.....d..|.....+..|
|00000060| 8a 2b ab 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.+......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 dc ea 00 00 |........|........|
|00000080| 0d 2f 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |./******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000c0| 2a 2a 2a 2a 2a 2a 2a 0d | 0d 46 49 4c 45 4e 41 4d |*******.|.FILENAM|
|000000d0| 45 0d 09 45 78 63 65 70 | 74 69 6f 6e 73 2e 68 0d |E..Excep|tions.h.|
|000000e0| 09 0d 44 45 53 43 52 49 | 50 54 49 4f 4e 0d 09 41 |..DESCRI|PTION..A|
|000000f0| 20 63 6f 6c 6c 65 63 74 | 69 6f 6e 20 6f 66 20 72 | collect|ion of r|
|00000100| 6f 75 74 69 6e 65 73 20 | 61 6e 64 20 6d 61 63 72 |outines |and macr|
|00000110| 6f 73 20 74 6f 20 68 61 | 6e 64 6c 65 20 61 73 73 |os to ha|ndle ass|
|00000120| 65 72 74 69 6f 6e 73 20 | 61 6e 64 0d 09 65 78 63 |ertions |and..exc|
|00000130| 65 70 74 69 6f 6e 73 2e | 0d 0d 43 4f 50 59 52 49 |eptions.|..COPYRI|
|00000140| 47 48 54 0d 09 43 6f 70 | 79 72 69 67 68 74 20 a9 |GHT..Cop|yright .|
|00000150| 20 41 70 70 6c 65 20 43 | 6f 6d 70 75 74 65 72 2c | Apple C|omputer,|
|00000160| 20 49 6e 63 2e 20 31 39 | 38 39 2d 31 39 39 31 0d | Inc. 19|89-1991.|
|00000170| 09 41 6c 6c 20 72 69 67 | 68 74 73 20 72 65 73 65 |.All rig|hts rese|
|00000180| 72 76 65 64 2e 0d 0d 52 | 4f 55 54 49 4e 45 53 0d |rved...R|OUTINES.|
|00000190| 09 45 58 54 45 52 4e 41 | 4c 53 0d 09 09 64 70 72 |.EXTERNA|LS...dpr|
|000001a0| 69 6e 74 66 0d 09 09 63 | 68 65 63 6b 5f 64 70 72 |intf...c|heck_dpr|
|000001b0| 69 6e 74 66 0d 09 09 63 | 68 65 63 6b 70 6f 73 5f |intf...c|heckpos_|
|000001c0| 64 70 72 69 6e 74 66 0d | 0d 4d 41 43 52 4f 53 0d |dprintf.|.MACROS.|
|000001d0| 09 45 58 54 45 52 4e 41 | 4c 53 0d 09 09 63 68 65 |.EXTERNA|LS...che|
|000001e0| 63 6b 0d 09 09 6e 63 68 | 65 63 6b 0d 09 09 63 68 |ck...nch|eck...ch|
|000001f0| 65 63 6b 5f 61 63 74 69 | 6f 6e 0d 09 09 6e 63 68 |eck_acti|on...nch|
|00000200| 65 63 6b 5f 61 63 74 69 | 6f 6e 0d 09 09 72 65 71 |eck_acti|on...req|
|00000210| 75 69 72 65 0d 09 09 6e | 72 65 71 75 69 72 65 0d |uire...n|require.|
|00000220| 09 09 72 65 71 75 69 72 | 65 5f 61 63 74 69 6f 6e |..requir|e_action|
|00000230| 0d 09 09 6e 72 65 71 75 | 69 72 65 5f 61 63 74 69 |...nrequ|ire_acti|
|00000240| 6f 6e 0d 09 09 72 65 73 | 75 6d 65 0d 0d 4d 4f 44 |on...res|ume..MOD|
|00000250| 49 46 49 43 41 54 49 4f | 4e 20 48 49 53 54 4f 52 |IFICATIO|N HISTOR|
|00000260| 59 0d 09 30 38 2f 30 33 | 2f 38 39 09 53 65 61 6e |Y..08/03|/89.Sean|
|00000270| 20 50 61 72 65 6e 74 0d | 09 09 31 29 09 56 65 72 | Parent.|..1).Ver|
|00000280| 73 69 6f 6e 20 31 2e 30 | 64 31 20 73 74 61 72 74 |sion 1.0|d1 start|
|00000290| 65 64 0d 09 30 39 2f 32 | 36 2f 38 39 09 73 70 0d |ed..09/2|6/89.sp.|
|000002a0| 09 09 31 29 09 43 6f 72 | 72 65 63 74 65 64 20 74 |..1).Cor|rected t|
|000002b0| 68 65 20 64 65 73 63 72 | 69 70 74 69 6f 6e 20 6f |he descr|iption o|
|000002c0| 66 20 72 65 71 75 69 72 | 65 0d 09 31 32 2f 30 38 |f requir|e..12/08|
|000002d0| 2f 38 39 09 73 70 0d 09 | 09 31 29 09 50 6f 72 74 |/89.sp..|.1).Port|
|000002e0| 65 64 20 66 72 6f 6d 20 | 58 58 58 58 20 45 78 63 |ed from |XXXX Exc|
|000002f0| 65 70 74 69 6f 6e 73 2e | 68 0d 09 30 33 2f 31 36 |eptions.|h..03/16|
|00000300| 2f 39 30 09 73 70 0d 09 | 09 31 29 09 52 65 6d 6f |/90.sp..|.1).Remo|
|00000310| 76 65 64 20 72 65 66 43 | 6f 6e 20 70 61 72 61 6d |ved refC|on param|
|00000320| 65 74 65 72 0d 09 09 32 | 29 09 41 64 64 65 64 20 |eter...2|).Added |
|00000330| 74 68 65 20 22 6e 22 20 | 63 61 6c 6c 73 0d 09 30 |the "n" |calls..0|
|00000340| 35 2f 31 30 2f 39 30 09 | 73 70 0d 09 09 31 29 09 |5/10/90.|sp...1).|
|00000350| 41 64 64 65 64 20 74 68 | 65 20 64 70 72 69 6e 74 |Added th|e dprint|
|00000360| 66 20 63 61 6c 6c 20 61 | 6e 64 20 72 65 76 76 65 |f call a|nd revve|
|00000370| 64 20 6f 74 68 65 72 20 | 6d 61 63 72 6f 73 20 74 |d other |macros t|
|00000380| 6f 20 75 73 65 20 69 74 | 2e 0d 09 30 36 2f 31 32 |o use it|...06/12|
|00000390| 2f 39 30 09 73 70 0d 09 | 09 31 29 09 4d 6f 64 69 |/90.sp..|.1).Modi|
|000003a0| 66 69 65 64 20 74 68 65 | 20 64 70 72 69 6e 74 20 |fied the| dprint |
|000003b0| 6f 66 66 20 74 6f 20 75 | 73 65 20 61 20 6d 61 63 |off to u|se a mac|
|000003c0| 72 6f 20 66 6f 72 20 74 | 72 61 63 65 4f 70 74 69 |ro for t|raceOpti|
|000003d0| 6f 6e 2e 0d 09 30 38 2f | 30 31 2f 39 30 09 73 70 |on...08/|01/90.sp|
|000003e0| 0d 09 09 31 29 09 4d 6f | 64 69 66 69 65 64 20 66 |...1).Mo|dified f|
|000003f0| 6f 72 20 43 2b 2b 20 63 | 6f 6d 70 61 74 69 62 69 |or C++ c|ompatibi|
|00000400| 6c 69 74 79 20 28 54 68 | 61 6e 6b 73 20 52 6f 6e |lity (Th|anks Ron|
|00000410| 29 2e 0d 09 30 38 2f 31 | 34 2f 39 30 09 73 70 0d |)...08/1|4/90.sp.|
|00000420| 09 09 31 29 09 41 64 64 | 65 64 20 61 63 74 69 6f |..1).Add|ed actio|
|00000430| 6e 20 63 61 6c 6c 73 2e | 0d 09 30 39 2f 32 30 2f |n calls.|..09/20/|
|00000440| 39 30 09 73 70 0d 09 09 | 31 29 09 52 65 6d 6f 76 |90.sp...|1).Remov|
|00000450| 65 64 20 72 65 73 63 75 | 65 5f 20 70 72 65 66 69 |ed rescu|e_ prefi|
|00000460| 78 20 69 6e 20 72 65 71 | 75 69 72 65 20 65 78 63 |x in req|uire exc|
|00000470| 65 70 74 69 6f 6e 20 6c | 61 62 65 6c 73 2e 0d 09 |eption l|abels...|
|00000480| 30 31 2f 31 36 2f 39 31 | 09 73 70 0d 09 09 31 29 |01/16/91|.sp...1)|
|00000490| 09 46 69 78 65 64 20 73 | 6f 6d 65 20 63 6f 6d 6d |.Fixed s|ome comm|
|000004a0| 65 6e 74 73 20 61 6e 64 | 20 75 70 64 61 74 65 64 |ents and| updated|
|000004b0| 20 74 68 65 20 63 6f 70 | 79 72 69 67 68 74 20 6e | the cop|yright n|
|000004c0| 6f 74 69 63 65 2e 0d 09 | 30 32 2f 31 33 2f 39 31 |otice...|02/13/91|
|000004d0| 09 73 70 0d 09 09 31 29 | 09 41 64 64 65 64 20 63 |.sp...1)|.Added c|
|000004e0| 68 65 63 6b 5f 61 63 74 | 69 6f 6e 20 61 6e 64 20 |heck_act|ion and |
|000004f0| 6e 63 68 65 63 6b 5f 61 | 63 74 69 6f 6e 20 63 61 |ncheck_a|ction ca|
|00000500| 6c 6c 73 2e 0d 09 09 32 | 29 09 41 64 64 65 64 20 |lls....2|).Added |
|00000510| 53 65 74 45 78 63 65 70 | 74 69 6f 6e 4f 70 74 69 |SetExcep|tionOpti|
|00000520| 6f 6e 0d 09 30 32 2f 32 | 32 2f 39 31 09 73 70 0d |on..02/2|2/91.sp.|
|00000530| 09 09 31 29 09 41 64 64 | 65 64 20 7b 7d 20 61 72 |..1).Add|ed {} ar|
|00000540| 6f 75 6e 64 20 61 6c 6c | 20 6d 61 63 72 6f 73 20 |ound all| macros |
|00000550| 6a 75 73 74 20 74 6f 20 | 62 65 20 64 65 66 65 6e |just to |be defen|
|00000560| 73 69 76 65 20 66 6f 72 | 20 54 45 44 2e 0d 09 09 |sive for| TED....|
|00000570| 32 29 09 50 75 74 20 65 | 76 65 72 79 74 68 69 6e |2).Put e|verythin|
|00000580| 67 20 69 6e 20 22 69 66 | 20 28 74 72 75 65 29 20 |g in "if| (true) |
|00000590| 7b 20 4d 41 43 52 4f 20 | 7d 20 65 6c 73 65 22 20 |{ MACRO |} else" |
|000005a0| 66 6f 72 6d 20 74 6f 20 | 62 65 20 76 65 72 79 0d |form to |be very.|
|000005b0| 09 09 09 64 65 66 65 6e | 73 69 76 65 2e 0d 09 30 |...defen|sive...0|
|000005c0| 32 2f 32 36 2f 39 31 09 | 73 70 0d 09 09 31 29 09 |2/26/91.|sp...1).|
|000005d0| 41 64 64 65 64 20 61 20 | 6e 75 6c 6c 20 73 74 61 |Added a |null sta|
|000005e0| 74 65 6d 65 6e 74 20 61 | 66 74 65 72 20 74 68 65 |tement a|fter the|
|000005f0| 20 65 6c 73 65 20 6f 66 | 20 65 61 63 68 20 6d 61 | else of| each ma|
|00000600| 63 72 6f 20 66 6f 72 20 | 74 68 65 0d 09 09 09 66 |cro for |the....f|
|00000610| 6f 6f 6c 73 20 77 68 6f | 20 66 6f 72 67 6f 74 20 |ools who| forgot |
|00000620| 74 6f 20 70 75 74 20 3b | 20 69 6e 2e 0d 09 30 33 |to put ;| in...03|
|00000630| 2f 31 33 2f 39 31 09 73 | 70 0d 09 09 31 29 09 41 |/13/91.s|p...1).A|
|00000640| 64 64 65 64 20 76 6f 69 | 64 2a 20 63 61 73 74 20 |dded voi|d* cast |
|00000650| 66 6f 72 20 70 72 69 76 | 61 74 65 41 73 73 65 72 |for priv|ateAsser|
|00000660| 74 69 6f 6e 20 66 6f 72 | 20 43 2b 2b 2e 0d 09 30 |tion for| C++...0|
|00000670| 33 2f 31 33 2f 39 31 09 | 73 70 2f 4e 42 0d 09 09 |3/13/91.|sp/NB...|
|00000680| 31 29 09 46 69 78 65 64 | 20 76 6f 69 64 2a 20 63 |1).Fixed| void* c|
|00000690| 61 73 74 20 66 6f 72 20 | 70 72 69 76 61 74 65 41 |ast for |privateA|
|000006a0| 73 73 65 72 74 69 6f 6e | 20 66 6f 72 20 43 2b 2b |ssertion| for C++|
|000006b0| 2e 0d 09 31 31 2f 30 34 | 2f 39 31 09 73 70 0d 09 |...11/04|/91.sp..|
|000006c0| 09 31 29 09 52 65 6d 6f | 76 65 64 20 72 65 74 72 |.1).Remo|ved retr|
|000006d0| 79 2e 0d 09 09 32 29 09 | 41 64 64 65 64 20 44 45 |y....2).|Added DE|
|000006e0| 42 55 47 4d 49 4e 20 73 | 75 70 70 6f 72 74 2e 0d |BUGMIN s|upport..|
|000006f0| 09 09 33 29 20 52 65 6d | 6f 76 65 64 20 53 65 74 |..3) Rem|oved Set|
|00000700| 45 78 63 65 70 74 69 6f | 6e 4f 70 74 69 6f 6e 2e |Exceptio|nOption.|
|00000710| 0d 09 09 34 29 20 43 6c | 65 61 6e 65 64 20 75 70 |...4) Cl|eaned up|
|00000720| 20 66 6f 72 20 44 65 76 | 65 6c 6f 70 20 61 72 74 | for Dev|elop art|
|00000730| 69 63 6c 65 2e 0d 09 31 | 31 2f 30 35 2f 39 31 09 |icle...1|1/05/91.|
|00000740| 73 70 0d 09 09 31 29 09 | 52 65 6d 6f 76 65 64 20 |sp...1).|Removed |
|00000750| 50 6c 61 63 65 48 6f 6c | 64 65 72 28 29 20 61 6e |PlaceHol|der() an|
|00000760| 64 20 6d 6f 76 65 64 20 | 74 6f 20 22 64 6f 20 7b |d moved |to "do {|
|00000770| 20 4d 41 43 52 4f 20 7d | 20 77 68 69 6c 65 28 66 | MACRO }| while(f|
|00000780| 61 6c 73 65 29 22 0d 09 | 31 31 2f 31 39 2f 39 31 |alse)"..|11/19/91|
|00000790| 20 73 70 0d 09 09 31 29 | 09 41 64 64 65 64 20 44 | sp...1)|.Added D|
|000007a0| 45 42 55 47 53 59 4d 20 | 6c 65 76 65 6c 2e 0d 09 |EBUGSYM |level...|
|000007b0| 09 0d 4e 4f 54 45 0d 09 | 54 6f 20 6b 65 65 70 20 |..NOTE..|To keep |
|000007c0| 63 6f 64 65 20 73 69 7a | 65 20 64 6f 77 6e 2c 20 |code siz|e down, |
|000007d0| 75 73 65 20 74 68 65 73 | 65 20 72 6f 75 74 69 6e |use thes|e routin|
|000007e0| 65 73 20 61 6e 64 20 6d | 61 63 72 6f 73 20 77 69 |es and m|acros wi|
|000007f0| 74 68 20 74 68 65 20 43 | 0d 09 63 6f 6d 70 69 6c |th the C|..compil|
|00000800| 65 72 20 6f 70 74 69 6f | 6e 20 2d 62 32 20 6f 72 |er optio|n -b2 or|
|00000810| 20 2d 62 33 2e 20 54 68 | 69 73 20 77 69 6c 6c 20 | -b3. Th|is will |
|00000820| 65 6c 69 6d 69 6e 61 74 | 65 20 64 75 70 6c 69 63 |eliminat|e duplic|
|00000830| 61 74 65 20 73 74 72 69 | 6e 67 73 0d 09 77 69 74 |ate stri|ngs..wit|
|00000840| 68 69 6e 20 61 20 70 72 | 6f 63 65 64 75 72 65 2e |hin a pr|ocedure.|
|00000850| 0d 0d 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..******|********|
|00000860| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000870| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000880| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000890| 2a 2a 2a 2a 2a 2a 2a 2f | 0d 0d 23 69 66 6e 64 65 |*******/|..#ifnde|
|000008a0| 66 20 5f 5f 45 58 43 45 | 50 54 49 4f 4e 53 5f 5f |f __EXCE|PTIONS__|
|000008b0| 0d 23 64 65 66 69 6e 65 | 20 5f 5f 45 58 43 45 50 |.#define| __EXCEP|
|000008c0| 54 49 4f 4e 53 5f 5f 0d | 0d 2f 2a 2a 2a 2a 2a 2a |TIONS__.|./******|
|000008d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000900| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|00000910| 0d 49 4e 43 4c 55 44 45 | 53 0d 0d 2a 2a 2a 2a 2a |.INCLUDE|S..*****|
|00000920| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000930| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000940| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000950| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000960| 2f 0d 0d 23 69 66 6e 64 | 65 66 09 5f 5f 54 59 50 |/..#ifnd|ef.__TYP|
|00000970| 45 53 5f 5f 0d 23 69 6e | 63 6c 75 64 65 09 3c 54 |ES__.#in|clude.<T|
|00000980| 79 70 65 73 2e 68 3e 0d | 23 65 6e 64 69 66 0d 0d |ypes.h>.|#endif..|
|00000990| 2f 2a 3c 46 46 3e 2a 2f | 0d 2f 2a 2a 2a 2a 2a 2a |/*<FF>*/|./******|
|000009a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|000009e0| 0d 43 4f 4e 53 54 41 4e | 54 53 20 41 4e 44 20 43 |.CONSTAN|TS AND C|
|000009f0| 4f 4e 54 52 4f 4c 0d 0d | 2a 2a 2a 2a 2a 2a 2a 2a |ONTROL..|********|
|00000a00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000a30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2f 0d 0d |********|*****/..|
|00000a40| 2f 2a 0d 09 54 68 65 73 | 65 20 64 65 66 69 6e 65 |/*..Thes|e define|
|00000a50| 73 20 61 72 65 20 75 73 | 65 64 20 74 6f 20 63 6f |s are us|ed to co|
|00000a60| 6e 74 72 6f 6c 20 74 68 | 65 20 61 6d 6f 75 6e 74 |ntrol th|e amount|
|00000a70| 20 6f 66 20 69 6e 66 6f | 72 6d 61 74 69 6f 6e 0d | of info|rmation.|
|00000a80| 09 64 69 73 70 6c 61 79 | 65 64 20 77 68 65 6e 20 |.display|ed when |
|00000a90| 61 6e 20 61 73 73 65 72 | 74 69 6f 6e 20 66 61 69 |an asser|tion fai|
|00000aa0| 6c 73 2e 20 44 45 42 55 | 47 4f 46 46 20 61 6e 64 |ls. DEBU|GOFF and|
|00000ab0| 20 57 41 52 4e 20 77 69 | 6c 6c 20 72 75 6e 0d 09 | WARN wi|ll run..|
|00000ac0| 73 69 6c 65 6e 74 6c 79 | 2e 20 4d 49 4e 20 77 69 |silently|. MIN wi|
|00000ad0| 6c 6c 20 73 69 6d 70 6c | 79 20 62 72 65 61 6b 20 |ll simpl|y break |
|00000ae0| 69 6e 74 6f 20 74 68 65 | 20 64 65 62 75 67 67 65 |into the| debugge|
|00000af0| 72 2e 20 4f 4e 20 77 69 | 6c 6c 20 62 72 65 61 6b |r. ON wi|ll break|
|00000b00| 0d 09 61 6e 64 20 64 69 | 73 70 6c 61 79 20 74 68 |..and di|splay th|
|00000b10| 65 20 61 73 73 65 72 74 | 69 6f 6e 20 74 68 61 74 |e assert|ion that|
|00000b20| 20 66 61 69 6c 65 64 20 | 61 6e 64 20 74 68 65 20 | failed |and the |
|00000b30| 65 78 63 65 70 74 69 6f | 6e 20 28 66 6f 72 0d 09 |exceptio|n (for..|
|00000b40| 72 65 71 75 69 72 65 20 | 73 74 61 74 65 6d 65 6e |require |statemen|
|00000b50| 74 73 29 2e 20 46 55 4c | 4c 20 77 69 6c 6c 20 61 |ts). FUL|L will a|
|00000b60| 6c 73 6f 20 64 69 73 70 | 6c 61 79 20 74 68 65 20 |lso disp|lay the |
|00000b70| 73 6f 75 72 63 65 20 66 | 69 6c 65 20 6e 61 6d 65 |source f|ile name|
|00000b80| 0d 09 61 6e 64 20 6c 69 | 6e 65 20 6e 75 6d 62 65 |..and li|ne numbe|
|00000b90| 72 2e 20 53 59 4d 20 64 | 6f 65 73 20 61 20 53 79 |r. SYM d|oes a Sy|
|00000ba0| 73 42 72 65 61 6b 20 61 | 6e 64 20 69 73 20 75 73 |sBreak a|nd is us|
|00000bb0| 65 66 75 6c 6c 20 77 68 | 65 6e 20 75 73 69 6e 67 |efull wh|en using|
|00000bc0| 20 61 0d 09 73 79 6d 62 | 6f 6c 69 63 20 64 65 62 | a..symb|olic deb|
|00000bd0| 75 67 67 65 72 20 6c 69 | 6b 65 20 53 6f 75 72 63 |ugger li|ke Sourc|
|00000be0| 65 42 75 67 20 6f 72 20 | 53 41 44 45 2e 20 54 68 |eBug or |SADE. Th|
|00000bf0| 65 79 20 73 68 6f 75 6c | 64 20 62 65 20 73 65 74 |ey shoul|d be set|
|00000c00| 20 69 6e 74 6f 0d 09 44 | 45 42 55 47 4c 45 56 45 | into..D|EBUGLEVE|
|00000c10| 4c 2e 20 54 68 65 20 64 | 65 66 61 75 6c 74 20 4c |L. The d|efault L|
|00000c20| 45 56 45 4c 20 69 73 20 | 4f 46 46 2e 0d 2a 2f 0d |EVEL is |OFF..*/.|
|00000c30| 0d 23 64 65 66 69 6e 65 | 20 44 45 42 55 47 4f 46 |.#define| DEBUGOF|
|00000c40| 46 09 09 30 0d 23 64 65 | 66 69 6e 65 20 44 45 42 |F..0.#de|fine DEB|
|00000c50| 55 47 57 41 52 4e 09 09 | 31 0d 23 64 65 66 69 6e |UGWARN..|1.#defin|
|00000c60| 65 20 44 45 42 55 47 4d | 49 4e 09 09 32 0d 23 64 |e DEBUGM|IN..2.#d|
|00000c70| 65 66 69 6e 65 20 44 45 | 42 55 47 4f 4e 09 09 33 |efine DE|BUGON..3|
|00000c80| 0d 23 64 65 66 69 6e 65 | 20 44 45 42 55 47 46 55 |.#define| DEBUGFU|
|00000c90| 4c 4c 09 09 34 0d 23 64 | 65 66 69 6e 65 20 44 45 |LL..4.#d|efine DE|
|00000ca0| 42 55 47 53 59 4d 09 09 | 36 0d 0d 23 69 66 6e 64 |BUGSYM..|6..#ifnd|
|00000cb0| 65 66 09 44 45 42 55 47 | 4c 45 56 45 4c 0d 23 64 |ef.DEBUG|LEVEL.#d|
|00000cc0| 65 66 69 6e 65 09 44 45 | 42 55 47 4c 45 56 45 4c |efine.DE|BUGLEVEL|
|00000cd0| 09 44 45 42 55 47 4f 46 | 46 0d 23 65 6e 64 69 66 |.DEBUGOF|F.#endif|
|00000ce0| 09 44 45 42 55 47 4c 45 | 56 45 4c 0d 0d 2f 2a 0d |.DEBUGLE|VEL../*.|
|00000cf0| 09 72 65 73 75 6d 65 4c | 61 62 65 6c 20 69 73 20 |.resumeL|abel is |
|00000d00| 75 73 65 64 20 74 6f 20 | 63 6f 6e 74 72 6f 6c 20 |used to |control |
|00000d10| 74 68 65 20 69 6e 73 65 | 72 74 69 6f 6e 20 6f 66 |the inse|rtion of|
|00000d20| 20 6c 61 62 65 6c 73 20 | 66 6f 72 20 75 73 65 20 | labels |for use |
|00000d30| 77 69 74 68 0d 09 74 68 | 65 20 72 65 73 75 6d 65 |with..th|e resume|
|00000d40| 20 6d 61 63 72 6f 2e 20 | 49 66 20 79 6f 75 20 64 | macro. |If you d|
|00000d50| 6f 20 6e 6f 74 20 75 73 | 65 20 74 68 65 20 72 65 |o not us|e the re|
|00000d60| 73 75 6d 65 20 6d 61 63 | 72 6f 20 61 6e 64 20 79 |sume mac|ro and y|
|00000d70| 6f 75 20 77 69 73 68 0d | 09 74 6f 20 68 61 76 65 |ou wish.|.to have|
|00000d80| 20 6d 75 6c 74 69 62 6c | 65 20 65 78 63 65 70 74 | multibl|e except|
|00000d90| 69 6f 6e 73 20 70 65 72 | 20 6c 61 62 65 6c 20 74 |ions per| label t|
|00000da0| 68 65 6e 20 79 6f 75 20 | 63 61 6e 20 61 64 64 20 |hen you |can add |
|00000db0| 74 68 65 0d 09 66 6f 6c | 6c 6f 77 69 6e 67 20 64 |the..fol|lowing d|
|00000dc0| 65 66 69 6e 65 20 74 6f | 20 79 6f 75 20 73 6f 75 |efine to| you sou|
|00000dd0| 72 63 65 20 63 6f 64 65 | 2e 0d 09 0d 09 23 64 65 |rce code|.....#de|
|00000de0| 66 69 6e 65 20 72 65 73 | 75 6d 65 4c 61 62 65 6c |fine res|umeLabel|
|00000df0| 28 65 78 63 65 70 74 69 | 6f 6e 29 0d 2a 2f 0d 0d |(excepti|on).*/..|
|00000e00| 23 64 65 66 69 6e 65 20 | 72 65 73 75 6d 65 4c 61 |#define |resumeLa|
|00000e10| 62 65 6c 28 65 78 63 65 | 70 74 69 6f 6e 29 09 72 |bel(exce|ption).r|
|00000e20| 65 73 75 6d 65 5f 20 23 | 23 20 65 78 63 65 70 74 |esume_ #|# except|
|00000e30| 69 6f 6e 3a 0d 0d 2f 2a | 0d 09 74 72 61 63 65 20 |ion:../*|..trace |
|00000e40| 61 6e 64 20 6e 6f 74 72 | 61 63 65 20 61 72 65 20 |and notr|ace are |
|00000e50| 75 73 65 64 20 66 6f 72 | 20 74 68 65 20 74 72 61 |used for| the tra|
|00000e60| 63 65 4f 70 74 69 6f 6e | 20 66 6f 72 20 64 70 72 |ceOption| for dpr|
|00000e70| 69 6e 74 66 2e 20 49 66 | 0d 09 74 72 61 63 65 20 |intf. If|..trace |
|00000e80| 69 73 20 75 73 65 64 20 | 74 68 65 6e 20 74 68 65 |is used |then the|
|00000e90| 20 61 63 74 75 61 6c 20 | 62 65 68 61 76 69 6f 72 | actual |behavior|
|00000ea0| 20 63 61 6e 20 62 65 20 | 63 6f 6e 74 72 6f 6c 65 | can be |controle|
|00000eb0| 64 20 66 72 6f 6d 0d 09 | 4d 61 63 73 62 75 67 2e |d from..|Macsbug.|
|00000ec0| 20 54 68 65 20 6d 61 63 | 72 6f 73 20 69 6e 20 4d | The mac|ros in M|
|00000ed0| 61 63 73 62 75 67 20 61 | 72 65 20 74 72 61 63 65 |acsbug a|re trace|
|00000ee0| 47 6f 20 61 6e 64 20 74 | 72 61 63 65 42 72 65 61 |Go and t|raceBrea|
|00000ef0| 6b 2e 20 74 72 61 63 65 | 47 6f 0d 09 69 73 20 74 |k. trace|Go..is t|
|00000f00| 68 65 20 64 65 66 61 75 | 6c 74 20 61 6e 64 20 65 |he defau|lt and e|
|00000f10| 78 65 63 75 74 69 6f 6e | 20 77 69 6c 6c 20 63 6f |xecution| will co|
|00000f20| 6e 74 69 6e 75 65 20 61 | 66 74 65 72 20 74 68 65 |ntinue a|fter the|
|00000f30| 20 62 72 65 61 6b 2e 20 | 49 66 0d 09 74 72 61 63 | break. |If..trac|
|00000f40| 65 42 72 65 61 6b 20 69 | 73 20 75 73 65 64 20 74 |eBreak i|s used t|
|00000f50| 68 65 6e 20 65 78 65 63 | 75 74 69 6f 6e 20 77 69 |hen exec|ution wi|
|00000f60| 6c 6c 20 68 61 6c 74 2e | 0d 2a 2f 0d 0d 23 64 65 |ll halt.|.*/..#de|
|00000f70| 66 69 6e 65 09 74 72 61 | 63 65 09 09 22 5c 70 3b |fine.tra|ce.."\p;|
|00000f80| 64 70 72 69 6e 74 66 3b | 64 6f 54 72 61 63 65 22 |dprintf;|doTrace"|
|00000f90| 0d 23 64 65 66 69 6e 65 | 09 6e 6f 74 72 61 63 65 |.#define|.notrace|
|00000fa0| 09 22 5c 70 3b 64 70 72 | 69 6e 74 66 22 0d 0d 2f |."\p;dpr|intf"../|
|00000fb0| 2a 0d 09 74 72 61 63 65 | 6f 6e 20 61 6e 64 20 64 |*..trace|on and d|
|00000fc0| 65 62 75 67 6f 6e 20 61 | 72 65 20 75 73 65 64 20 |ebugon a|re used |
|00000fd0| 74 6f 20 74 65 73 74 20 | 66 6f 72 20 6f 70 74 69 |to test |for opti|
|00000fe0| 6f 6e 73 0d 2a 2f 0d 0d | 23 64 65 66 69 6e 65 09 |ons.*/..|#define.|
|00000ff0| 74 72 61 63 65 6f 6e 09 | 28 28 44 45 42 55 47 4c |traceon.|((DEBUGL|
|00001000| 45 56 45 4c 20 3e 20 44 | 45 42 55 47 57 41 52 4e |EVEL > D|EBUGWARN|
|00001010| 29 20 26 26 20 64 65 66 | 69 6e 65 64 28 54 52 41 |) && def|ined(TRA|
|00001020| 43 45 4f 4e 29 29 0d 23 | 64 65 66 69 6e 65 09 64 |CEON)).#|define.d|
|00001030| 65 62 75 67 6f 6e 09 28 | 44 45 42 55 47 4c 45 56 |ebugon.(|DEBUGLEV|
|00001040| 45 4c 20 3e 20 44 45 42 | 55 47 57 41 52 4e 29 0d |EL > DEB|UGWARN).|
|00001050| 0d 2f 2a 0d 09 41 64 64 | 20 73 6f 6d 65 20 6d 61 |./*..Add| some ma|
|00001060| 63 72 6f 73 20 66 6f 72 | 20 44 45 42 55 47 4d 49 |cros for| DEBUGMI|
|00001070| 4e 20 61 6e 64 20 44 45 | 42 55 47 53 59 4d 20 74 |N and DE|BUGSYM t|
|00001080| 6f 20 6b 65 65 70 20 74 | 68 65 20 73 69 7a 65 20 |o keep t|he size |
|00001090| 64 6f 77 6e 2e 0d 2a 2f | 0d 0d 23 64 65 66 69 6e |down..*/|..#defin|
|000010a0| 65 09 5f 5f 44 45 42 55 | 47 53 4d 41 4c 4c 09 28 |e.__DEBU|GSMALL.(|
|000010b0| 28 44 45 42 55 47 4c 45 | 56 45 4c 20 3d 3d 20 44 |(DEBUGLE|VEL == D|
|000010c0| 45 42 55 47 4d 49 4e 29 | 20 7c 7c 09 09 09 5c 0d |EBUGMIN)| ||...\.|
|000010d0| 09 09 09 09 09 09 09 09 | 20 28 44 45 42 55 47 4c |........| (DEBUGL|
|000010e0| 45 56 45 4c 20 3d 3d 20 | 44 45 42 55 47 53 59 4d |EVEL == |DEBUGSYM|
|000010f0| 29 29 0d 0d 23 69 66 09 | 44 45 42 55 47 4c 45 56 |))..#if.|DEBUGLEV|
|00001100| 45 4c 20 3d 3d 20 44 45 | 42 55 47 4d 49 4e 0d 23 |EL == DE|BUGMIN.#|
|00001110| 64 65 66 69 6e 65 09 5f | 5f 44 65 62 75 67 67 65 |define._|_Debugge|
|00001120| 72 42 72 65 61 6b 09 44 | 65 62 75 67 67 65 72 28 |rBreak.D|ebugger(|
|00001130| 29 0d 23 65 6c 69 66 09 | 44 45 42 55 47 4c 45 56 |).#elif.|DEBUGLEV|
|00001140| 45 4c 20 3d 3d 20 44 45 | 42 55 47 53 59 4d 0d 23 |EL == DE|BUGSYM.#|
|00001150| 64 65 66 69 6e 65 20 20 | 5f 5f 44 65 62 75 67 67 |define |__Debugg|
|00001160| 65 72 42 72 65 61 6b 09 | 53 79 73 42 72 65 61 6b |erBreak.|SysBreak|
|00001170| 28 29 0d 23 65 6e 64 69 | 66 0d 0d 2f 2a 3c 46 46 |().#endi|f../*<FF|
|00001180| 3e 2a 2f 0d 2f 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |>*/./***|********|
|00001190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000011c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 0d 52 4f 55 54 |********|**..ROUT|
|000011d0| 49 4e 45 0d 09 76 6f 69 | 64 20 64 70 72 69 6e 74 |INE..voi|d dprint|
|000011e0| 66 28 74 72 61 63 65 4f | 70 74 69 6f 6e 2c 20 66 |f(traceO|ption, f|
|000011f0| 6f 72 6d 61 74 2c 20 2e | 2e 2e 29 0d 0d 44 45 53 |ormat, .|..)..DES|
|00001200| 43 52 49 50 54 49 4f 4e | 0d 09 64 70 72 69 6e 74 |CRIPTION|..dprint|
|00001210| 66 20 69 73 20 75 73 65 | 64 20 6c 69 6b 65 20 70 |f is use|d like p|
|00001220| 72 69 6e 74 66 20 6f 6e | 6c 79 20 74 68 65 20 69 |rintf on|ly the i|
|00001230| 6e 66 6f 72 6d 61 74 69 | 6f 6e 20 69 73 20 64 69 |nformati|on is di|
|00001240| 73 70 6c 61 79 65 64 20 | 69 6e 0d 09 4d 61 63 73 |splayed |in..Macs|
|00001250| 42 75 67 2e 20 74 72 61 | 63 65 4f 70 74 69 6f 6e |Bug. tra|ceOption|
|00001260| 20 69 73 20 75 73 65 64 | 20 74 6f 20 73 70 65 63 | is used| to spec|
|00001270| 69 66 79 20 77 68 65 74 | 68 65 72 20 74 68 65 20 |ify whet|her the |
|00001280| 65 78 65 63 75 74 69 6f | 6e 0d 09 73 68 6f 75 6c |executio|n..shoul|
|00001290| 64 20 63 6f 6e 74 69 6e | 75 65 20 61 66 74 65 72 |d contin|ue after|
|000012a0| 20 74 68 65 20 62 72 65 | 61 6b 20 6f 72 20 6e 6f | the bre|ak or no|
|000012b0| 74 2e 20 66 6f 72 6d 61 | 74 20 63 6f 6e 74 61 69 |t. forma|t contai|
|000012c0| 6e 73 0d 09 74 77 6f 20 | 74 79 70 65 73 20 6f 66 |ns..two |types of|
|000012d0| 20 6f 62 6a 65 63 74 73 | 3a 20 6f 72 64 69 6e 61 | objects|: ordina|
|000012e0| 72 79 20 63 68 61 72 61 | 63 74 65 72 73 2c 20 77 |ry chara|cters, w|
|000012f0| 68 69 63 68 20 61 72 65 | 20 64 69 73 70 6c 61 79 |hich are| display|
|00001300| 65 64 20 69 6e 0d 09 4d | 61 63 73 62 75 67 2c 20 |ed in..M|acsbug, |
|00001310| 61 6e 64 20 63 6f 76 65 | 72 73 69 6f 6e 20 73 70 |and cove|rsion sp|
|00001320| 65 63 69 66 69 63 61 74 | 69 6f 6e 73 2c 20 65 61 |ecificat|ions, ea|
|00001330| 63 68 20 6f 66 20 77 68 | 69 63 68 20 63 61 75 73 |ch of wh|ich caus|
|00001340| 65 73 0d 09 63 6f 6e 76 | 65 72 73 69 6f 6e 20 61 |es..conv|ersion a|
|00001350| 6e 64 20 70 72 69 6e 74 | 69 6e 67 20 6f 66 20 74 |nd print|ing of t|
|00001360| 68 65 20 6e 65 78 74 20 | 73 75 63 63 65 73 73 69 |he next |successi|
|00001370| 76 65 20 61 72 67 75 6d | 65 6e 74 20 74 6f 20 64 |ve argum|ent to d|
|00001380| 70 72 69 6e 74 66 2e 0d | 09 45 61 63 68 20 63 6f |printf..|.Each co|
|00001390| 6e 76 65 72 73 69 6f 6e | 20 73 70 65 63 69 66 69 |nversion| specifi|
|000013a0| 63 61 74 69 6f 6e 20 62 | 65 67 69 6e 73 20 77 69 |cation b|egins wi|
|000013b0| 74 68 20 61 20 25 20 61 | 6e 64 20 65 6e 64 73 20 |th a % a|nd ends |
|000013c0| 77 69 74 68 20 61 0d 09 | 63 6f 6e 76 65 72 73 69 |with a..|conversi|
|000013d0| 6f 6e 20 63 68 61 72 61 | 63 74 65 72 2e 20 42 65 |on chara|cter. Be|
|000013e0| 74 77 65 65 6e 20 25 20 | 61 6e 64 20 74 68 65 20 |tween % |and the |
|000013f0| 63 6f 6e 76 65 72 73 69 | 6f 6e 20 63 68 61 72 61 |conversi|on chara|
|00001400| 63 74 65 72 20 74 68 65 | 72 65 0d 09 6d 61 79 20 |cter the|re..may |
|00001410| 62 65 2c 20 69 6e 20 6f | 72 64 65 72 3a 0d 09 0d |be, in o|rder:...|
|00001420| 09 a5 09 5a 65 72 6f 20 | 6f 72 20 6d 6f 72 65 20 |...Zero |or more |
|00001430| 66 6c 61 67 20 63 68 61 | 72 61 63 74 65 72 73 2c |flag cha|racters,|
|00001440| 20 77 68 69 63 68 20 6d | 6f 64 69 66 79 20 74 68 | which m|odify th|
|00001450| 65 20 6d 65 61 6e 69 6e | 67 20 6f 66 20 74 68 65 |e meanin|g of the|
|00001460| 0d 09 09 63 6f 6e 76 65 | 72 73 69 6f 6e 20 73 70 |...conve|rsion sp|
|00001470| 65 63 69 66 69 63 61 74 | 69 6f 6e 2e 0d 09 a5 09 |ecificat|ion.....|
|00001480| 41 20 6e 75 6d 62 65 72 | 20 74 68 61 74 20 73 70 |A number| that sp|
|00001490| 65 63 69 66 69 65 73 20 | 74 68 65 20 6d 69 6e 69 |ecifies |the mini|
|000014a0| 6d 75 6d 20 66 69 65 6c | 64 20 77 69 64 74 68 2e |mum fiel|d width.|
|000014b0| 20 54 68 65 20 63 6f 6e | 76 65 72 74 65 64 0d 09 | The con|verted..|
|000014c0| 09 61 72 67 75 6d 65 6e | 74 20 77 69 6c 6c 20 62 |.argumen|t will b|
|000014d0| 65 20 70 72 69 6e 74 65 | 64 20 69 6e 20 61 20 66 |e printe|d in a f|
|000014e0| 69 65 6c 64 20 61 74 20 | 6c 65 61 73 74 20 74 68 |ield at |least th|
|000014f0| 69 73 20 77 69 64 65 2e | 20 49 66 0d 09 09 6e 65 |is wide.| If...ne|
|00001500| 63 65 73 73 61 72 79 20 | 69 74 20 77 69 6c 6c 20 |cessary |it will |
|00001510| 62 65 20 70 61 64 64 65 | 64 20 6f 6e 20 74 68 65 |be padde|d on the|
|00001520| 20 6c 65 66 74 20 28 6f | 72 20 72 69 67 68 74 2c | left (o|r right,|
|00001530| 20 69 66 20 6c 65 66 74 | 0d 09 09 61 64 6a 75 73 | if left|...adjus|
|00001540| 74 6d 65 6e 74 20 69 73 | 20 63 61 6c 6c 65 64 20 |tment is| called |
|00001550| 66 6f 72 29 20 74 6f 20 | 6d 61 6b 65 20 75 70 20 |for) to |make up |
|00001560| 74 68 65 20 66 69 65 6c | 64 20 77 69 64 74 68 2e |the fiel|d width.|
|00001570| 0d 09 a5 09 41 20 70 65 | 72 69 6f 64 2c 20 77 68 |....A pe|riod, wh|
|00001580| 69 63 68 20 73 65 70 61 | 72 61 74 65 73 20 74 68 |ich sepa|rates th|
|00001590| 65 20 66 69 65 6c 64 20 | 77 69 64 74 68 20 66 72 |e field |width fr|
|000015a0| 6f 6d 20 74 68 65 20 70 | 72 65 63 69 73 69 6f 6e |om the p|recision|
|000015b0| 2e 0d 09 a5 09 41 20 6e | 75 6d 62 65 72 2c 20 74 |.....A n|umber, t|
|000015c0| 68 65 20 70 72 65 63 69 | 73 69 6f 6e 2c 20 74 68 |he preci|sion, th|
|000015d0| 61 74 20 73 70 65 63 69 | 66 69 65 73 20 74 68 65 |at speci|fies the|
|000015e0| 20 6d 61 78 69 6d 75 6d | 20 6e 75 6d 62 65 72 20 | maximum| number |
|000015f0| 6f 66 0d 09 09 63 68 61 | 72 61 63 74 65 72 73 20 |of...cha|racters |
|00001600| 74 6f 20 62 65 20 70 72 | 69 6e 74 65 64 20 66 72 |to be pr|inted fr|
|00001610| 6f 6d 20 61 20 73 74 72 | 69 6e 67 2c 20 6f 72 20 |om a str|ing, or |
|00001620| 74 68 65 20 6e 75 6d 62 | 65 72 20 6f 66 20 64 69 |the numb|er of di|
|00001630| 67 69 74 73 0d 09 09 61 | 66 74 65 72 20 74 68 65 |gits...a|fter the|
|00001640| 20 64 65 63 69 6d 61 6c | 20 70 6f 69 6e 74 20 6f | decimal| point o|
|00001650| 66 20 61 20 66 6c 6f 61 | 74 69 6e 67 70 6f 69 6e |f a floa|tingpoin|
|00001660| 74 20 76 61 6c 75 65 2c | 20 6f 72 20 74 68 65 20 |t value,| or the |
|00001670| 6d 69 6e 69 6d 75 6d 0d | 09 09 6e 75 6d 62 65 72 |minimum.|..number|
|00001680| 20 6f 66 20 64 69 67 69 | 74 73 20 66 6f 72 20 61 | of digi|ts for a|
|00001690| 6e 20 69 6e 74 65 67 65 | 72 2e 0d 09 a5 09 41 6e |n intege|r.....An|
|000016a0| 20 68 20 69 66 20 74 68 | 65 20 69 6e 74 65 67 65 | h if th|e intege|
|000016b0| 72 20 69 73 20 74 6f 20 | 62 65 20 70 72 69 6e 74 |r is to |be print|
|000016c0| 65 64 20 61 73 20 61 20 | 73 68 6f 72 74 2c 20 6f |ed as a |short, o|
|000016d0| 72 20 6c 20 69 66 20 61 | 73 0d 09 09 6c 6f 6e 67 |r l if a|s...long|
|000016e0| 20 28 69 67 6e 6f 72 65 | 64 20 73 69 6e 63 65 20 | (ignore|d since |
|000016f0| 69 6e 74 20 69 73 20 6c | 6f 6e 67 29 2c 20 6f 72 |int is l|ong), or|
|00001700| 20 4c 20 74 6f 20 73 70 | 65 63 69 66 79 20 74 68 | L to sp|ecify th|
|00001710| 61 74 20 74 68 65 0d 09 | 09 66 6f 6c 6c 6f 77 69 |at the..|.followi|
|00001720| 6e 67 20 65 2c 20 45 2c | 20 66 2c 20 67 2c 20 6f |ng e, E,| f, g, o|
|00001730| 72 20 47 20 63 6f 6e 76 | 65 72 73 69 6f 6e 20 69 |r G conv|ersion i|
|00001740| 73 20 61 20 6c 6f 6e 67 | 20 64 6f 75 62 6c 65 2e |s a long| double.|
|00001750| 0d 09 0d 09 4e 6f 74 65 | 3a 20 41 20 66 69 65 6c |....Note|: A fiel|
|00001760| 64 20 77 69 64 74 68 20 | 6f 72 20 70 72 65 63 69 |d width |or preci|
|00001770| 73 69 6f 6e 20 6d 61 79 | 20 62 65 20 69 6e 64 69 |sion may| be indi|
|00001780| 63 61 74 65 64 20 62 79 | 20 61 6e 20 2a 20 69 6e |cated by| an * in|
|00001790| 73 74 65 61 64 0d 09 6f | 66 20 61 20 64 69 67 69 |stead..o|f a digi|
|000017a0| 74 20 73 74 72 69 6e 67 | 2e 20 49 6e 20 74 68 69 |t string|. In thi|
|000017b0| 73 20 63 61 73 65 2c 20 | 61 6e 20 69 6e 74 65 67 |s case, |an integ|
|000017c0| 65 72 20 61 72 67 20 70 | 61 72 61 6d 65 74 65 72 |er arg p|arameter|
|000017d0| 20 73 75 70 70 6c 69 65 | 73 0d 09 74 68 65 20 66 | supplie|s..the f|
|000017e0| 69 65 6c 64 20 77 69 64 | 74 68 20 6f 72 20 70 72 |ield wid|th or pr|
|000017f0| 65 63 69 73 69 6f 6e 2e | 20 54 68 65 20 61 72 67 |ecision.| The arg|
|00001800| 20 70 61 72 61 6d 65 74 | 65 72 20 74 68 61 74 20 | paramet|er that |
|00001810| 69 73 20 61 63 74 75 61 | 6c 6c 79 0d 09 63 6f 6e |is actua|lly..con|
|00001820| 76 65 72 74 65 64 20 69 | 73 20 6e 6f 74 20 66 65 |verted i|s not fe|
|00001830| 74 63 68 65 64 20 75 6e | 74 69 6c 20 74 68 65 20 |tched un|til the |
|00001840| 63 6f 6e 76 65 72 73 69 | 6f 6e 20 6c 65 74 74 65 |conversi|on lette|
|00001850| 72 20 69 73 20 73 65 65 | 6e 3b 0d 09 74 68 65 72 |r is see|n;..ther|
|00001860| 65 66 6f 72 65 2c 20 74 | 68 65 20 61 72 67 20 70 |efore, t|he arg p|
|00001870| 61 72 61 6d 74 65 72 73 | 20 73 70 65 63 69 66 79 |aramters| specify|
|00001880| 69 6e 67 20 66 69 65 6c | 64 20 77 69 64 74 68 20 |ing fiel|d width |
|00001890| 6f 72 20 70 72 65 63 69 | 73 69 6f 6e 0d 09 6d 75 |or preci|sion..mu|
|000018a0| 73 74 20 61 70 70 65 61 | 72 20 69 6d 6d 65 64 69 |st appea|r immedi|
|000018b0| 61 74 65 6c 79 20 62 65 | 66 6f 72 65 20 74 68 65 |ately be|fore the|
|000018c0| 20 61 72 67 20 70 61 72 | 61 6d 65 74 65 72 20 28 | arg par|ameter (|
|000018d0| 69 66 20 61 6e 79 29 20 | 74 6f 20 62 65 0d 09 63 |if any) |to be..c|
|000018e0| 6f 6e 76 65 72 74 65 64 | 2e 0d 09 0d 09 54 68 65 |onverted|.....The|
|000018f0| 20 66 6c 61 67 20 63 68 | 61 72 61 63 74 65 72 73 | flag ch|aracters|
|00001900| 20 61 72 65 3a 0d 09 0d | 09 09 2d 09 09 54 68 65 | are:...|..-..The|
|00001910| 20 72 65 73 75 6c 74 20 | 6f 66 20 74 68 65 20 63 | result |of the c|
|00001920| 6f 6e 76 65 72 73 69 6f | 6e 20 77 69 6c 6c 20 62 |onversio|n will b|
|00001930| 65 20 6c 65 66 74 20 6a | 75 73 74 69 66 69 65 64 |e left j|ustified|
|00001940| 0d 09 09 09 09 77 69 74 | 68 69 6e 20 74 68 65 20 |.....wit|hin the |
|00001950| 66 69 65 6c 64 2e 0d 09 | 09 2b 09 09 54 68 65 20 |field...|.+..The |
|00001960| 72 65 73 75 6c 74 20 6f | 66 20 61 20 73 69 67 6e |result o|f a sign|
|00001970| 65 64 20 63 6f 6e 76 65 | 72 73 69 6f 6e 20 61 6c |ed conve|rsion al|
|00001980| 77 61 79 73 20 62 65 67 | 69 6e 73 20 77 69 74 68 |ways beg|ins with|
|00001990| 20 61 0d 09 09 09 09 73 | 69 67 6e 20 28 2b 20 6f | a.....s|ign (+ o|
|000019a0| 72 20 2d 29 2e 0d 09 09 | 73 70 61 63 65 09 49 66 |r -)....|space.If|
|000019b0| 20 74 68 65 20 66 69 72 | 73 74 20 63 68 61 72 61 | the fir|st chara|
|000019c0| 63 74 65 72 20 6f 66 20 | 61 20 73 69 67 6e 65 64 |cter of |a signed|
|000019d0| 20 63 6f 6e 76 65 72 73 | 69 6f 6e 20 69 73 20 6e | convers|ion is n|
|000019e0| 6f 74 20 61 0d 09 09 09 | 09 73 69 67 6e 2c 20 61 |ot a....|.sign, a|
|000019f0| 20 73 70 61 63 65 20 77 | 69 6c 6c 20 62 65 20 70 | space w|ill be p|
|00001a00| 72 65 66 69 78 65 64 20 | 74 6f 20 74 68 65 20 72 |refixed |to the r|
|00001a10| 65 73 75 6c 74 2e 20 54 | 68 69 73 20 69 6d 70 6c |esult. T|his impl|
|00001a20| 69 65 73 0d 09 09 09 09 | 74 68 61 74 20 69 66 20 |ies.....|that if |
|00001a30| 74 68 65 20 73 70 61 63 | 65 20 61 6e 64 20 2b 20 |the spac|e and + |
|00001a40| 66 6c 61 67 73 20 62 6f | 74 68 20 61 70 70 65 61 |flags bo|th appea|
|00001a50| 72 2c 20 74 68 65 20 73 | 70 61 63 65 20 66 6c 61 |r, the s|pace fla|
|00001a60| 67 0d 09 09 09 09 77 69 | 6c 6c 20 62 65 20 69 67 |g.....wi|ll be ig|
|00001a70| 6e 6f 72 65 64 2e 0d 09 | 09 23 09 09 54 68 65 20 |nored...|.#..The |
|00001a80| 76 61 6c 75 65 20 69 73 | 20 74 6f 20 62 65 20 63 |value is| to be c|
|00001a90| 6f 6e 76 65 72 74 65 64 | 20 74 6f 20 61 6e 20 61 |onverted| to an a|
|00001aa0| 6c 74 65 72 6e 61 74 65 | 20 66 6f 72 6d 2e 20 46 |lternate| form. F|
|00001ab0| 6f 72 20 63 2c 0d 09 09 | 09 09 64 2c 20 73 2c 20 |or c,...|..d, s, |
|00001ac0| 61 6e 64 20 75 20 63 6f | 6e 76 65 72 73 69 6f 6e |and u co|nversion|
|00001ad0| 73 2c 20 74 68 65 20 66 | 6c 61 67 20 68 61 73 20 |s, the f|lag has |
|00001ae0| 6e 6f 20 65 66 66 65 63 | 74 2e 20 46 6f 72 20 6f |no effec|t. For o|
|00001af0| 0d 09 09 09 09 63 6f 6e | 76 65 72 73 69 6f 6e 73 |.....con|versions|
|00001b00| 2c 20 69 74 20 69 6e 63 | 72 65 61 73 65 73 20 74 |, it inc|reases t|
|00001b10| 68 65 20 70 72 65 63 69 | 73 69 6f 6e 20 74 6f 20 |he preci|sion to |
|00001b20| 66 6f 72 63 65 20 74 68 | 65 20 66 69 72 73 74 0d |force th|e first.|
|00001b30| 09 09 09 09 64 69 67 69 | 74 20 6f 66 20 74 68 65 |....digi|t of the|
|00001b40| 20 72 65 73 75 6c 74 20 | 74 6f 20 62 65 20 7a 65 | result |to be ze|
|00001b50| 72 6f 2e 20 46 6f 72 20 | 78 2c 20 61 6e 64 20 58 |ro. For |x, and X|
|00001b60| 20 63 6f 6e 76 65 72 73 | 69 6f 6e 73 2c 0d 09 09 | convers|ions,...|
|00001b70| 09 09 61 20 6e 6f 6e 7a | 65 72 6f 20 72 65 73 75 |..a nonz|ero resu|
|00001b80| 6c 74 20 77 69 6c 6c 20 | 68 61 76 65 20 30 78 20 |lt will |have 0x |
|00001b90| 6f 72 20 30 58 20 70 72 | 65 66 69 78 65 64 20 74 |or 0X pr|efixed t|
|00001ba0| 6f 20 69 74 2e 20 46 6f | 72 0d 09 09 09 09 65 2c |o it. Fo|r.....e,|
|00001bb0| 20 45 2c 20 66 2c 20 67 | 2c 20 61 6e 64 20 47 20 | E, f, g|, and G |
|00001bc0| 63 6f 6e 76 65 72 73 69 | 6f 6e 73 2c 20 74 68 65 |conversi|ons, the|
|00001bd0| 20 72 65 73 75 6c 74 20 | 77 69 6c 6c 20 61 6c 77 | result |will alw|
|00001be0| 61 79 73 0d 09 09 09 09 | 63 6f 6e 74 61 69 6e 20 |ays.....|contain |
|00001bf0| 61 20 64 65 63 69 6d 61 | 6c 20 70 6f 69 6e 74 2c |a decima|l point,|
|00001c00| 20 65 76 65 6e 20 69 66 | 20 6e 6f 20 64 69 67 69 | even if| no digi|
|00001c10| 74 73 20 66 6f 6c 6c 6f | 77 20 74 68 65 0d 09 09 |ts follo|w the...|
|00001c20| 09 09 70 6f 69 6e 74 2e | 20 46 6f 72 20 67 20 61 |..point.| For g a|
|00001c30| 6e 64 20 47 20 63 6f 6e | 76 65 72 73 69 6f 6e 2c |nd G con|version,|
|00001c40| 20 74 72 61 69 6c 69 6e | 67 20 7a 65 72 6f 73 20 | trailin|g zeros |
|00001c50| 69 6e 20 74 68 65 0d 09 | 09 09 09 66 72 61 63 74 |in the..|...fract|
|00001c60| 69 6f 6e 61 6c 20 70 61 | 72 74 20 77 69 6c 6c 20 |ional pa|rt will |
|00001c70| 6e 6f 74 20 62 65 20 72 | 65 6d 6f 76 65 64 20 66 |not be r|emoved f|
|00001c80| 72 6f 6d 20 74 68 65 20 | 72 65 73 75 6c 74 2e 0d |rom the |result..|
|00001c90| 09 09 30 09 09 54 68 65 | 20 30 20 66 6c 61 67 20 |..0..The| 0 flag |
|00001ca0| 70 61 64 73 20 74 68 65 | 20 66 69 65 6c 64 20 77 |pads the| field w|
|00001cb0| 69 74 68 20 7a 65 72 6f | 73 20 6f 6e 20 74 68 65 |ith zero|s on the|
|00001cc0| 20 6c 65 66 74 20 6f 6e | 6c 79 3b 0d 09 09 09 09 | left on|ly;.....|
|00001cd0| 74 68 69 73 20 61 70 70 | 6c 69 65 73 20 74 6f 20 |this app|lies to |
|00001ce0| 64 2c 20 69 2c 20 6f 2c | 20 75 2c 20 78 2c 20 58 |d, i, o,| u, x, X|
|00001cf0| 2c 20 65 2c 20 45 2c 20 | 66 2c 20 67 2c 20 61 6e |, e, E, |f, g, an|
|00001d00| 64 20 47 0d 09 09 09 09 | 63 6f 6e 76 65 72 73 69 |d G.....|conversi|
|00001d10| 6f 6e 73 2e 20 54 68 65 | 20 6c 65 61 64 69 6e 67 |ons. The| leading|
|00001d20| 20 7a 65 72 6f 73 20 70 | 61 64 20 74 68 65 20 66 | zeros p|ad the f|
|00001d30| 69 65 6c 64 20 77 69 64 | 74 68 2c 20 61 6e 64 0d |ield wid|th, and.|
|00001d40| 09 09 09 09 6e 6f 20 73 | 70 61 63 65 20 70 61 64 |....no s|pace pad|
|00001d50| 64 69 6e 67 20 69 73 20 | 70 65 72 66 6f 72 6d 65 |ding is |performe|
|00001d60| 64 2e 20 49 66 20 62 6f | 74 68 20 74 68 65 20 30 |d. If bo|th the 0|
|00001d70| 20 61 6e 64 20 2d 20 66 | 6c 61 67 73 0d 09 09 09 | and - f|lags....|
|00001d80| 09 61 70 70 65 61 72 2c | 20 74 68 65 20 30 20 66 |.appear,| the 0 f|
|00001d90| 6c 61 67 20 69 73 20 69 | 67 6e 6f 72 65 64 2e 20 |lag is i|gnored. |
|00001da0| 49 66 20 61 20 70 72 65 | 63 69 73 69 6f 6e 20 69 |If a pre|cision i|
|00001db0| 73 20 73 70 65 63 69 66 | 69 65 64 0d 09 09 09 09 |s specif|ied.....|
|00001dc0| 66 6f 72 20 64 2c 20 69 | 2c 20 6f 2c 20 75 2c 20 |for d, i|, o, u, |
|00001dd0| 78 2c 20 61 6e 64 20 58 | 20 63 6f 6e 76 65 72 73 |x, and X| convers|
|00001de0| 69 6f 6e 73 2c 20 74 68 | 65 20 30 20 66 6c 61 67 |ions, th|e 0 flag|
|00001df0| 20 69 73 0d 09 09 09 09 | 69 67 6e 6f 72 65 64 2e | is.....|ignored.|
|00001e00| 0d 09 0d 09 54 68 65 20 | 73 74 61 6e 64 61 72 64 |....The |standard|
|00001e10| 20 63 6f 6e 76 65 72 73 | 69 6f 6e 73 20 61 72 65 | convers|ions are|
|00001e20| 3a 0d 09 0d 09 09 64 2c | 69 09 69 6e 74 09 09 09 |:.....d,|i.int...|
|00001e30| 44 65 63 69 6d 61 6c 20 | 6e 75 6d 62 65 72 2e 0d |Decimal |number..|
|00001e40| 09 09 6f 09 09 69 6e 74 | 09 09 09 55 6e 73 69 67 |..o..int|...Unsig|
|00001e50| 6e 65 64 20 6f 63 74 61 | 6c 20 6e 75 6d 62 65 72 |ned octa|l number|
|00001e60| 20 28 77 2f 6f 20 61 20 | 6c 65 61 64 69 6e 67 20 | (w/o a |leading |
|00001e70| 7a 65 72 6f 29 2e 0d 09 | 09 78 2c 58 09 69 6e 74 |zero)...|.x,X.int|
|00001e80| 09 09 09 55 6e 73 69 67 | 6e 65 64 20 68 65 78 61 |...Unsig|ned hexa|
|00001e90| 64 65 63 69 6d 61 6c 20 | 6e 75 6d 62 65 72 20 28 |decimal |number (|
|00001ea0| 77 2f 6f 20 61 20 6c 65 | 61 64 69 6e 67 20 30 78 |w/o a le|ading 0x|
|00001eb0| 0d 09 09 09 09 09 09 09 | 09 6f 72 20 6f 58 29 2c |........|.or oX),|
|00001ec0| 20 75 73 69 6e 67 20 61 | 62 63 64 65 66 20 6f 72 | using a|bcdef or|
|00001ed0| 20 41 42 43 44 45 46 20 | 66 6f 72 20 31 30 2c c9 | ABCDEF |for 10,.|
|00001ee0| 2c 31 35 2e 0d 09 09 75 | 09 09 69 6e 74 09 09 09 |,15....u|..int...|
|00001ef0| 55 6e 73 69 67 6e 65 64 | 20 64 65 63 69 6d 61 6c |Unsigned| decimal|
|00001f00| 20 6e 75 6d 62 65 72 2e | 0d 09 09 63 09 09 69 6e | number.|...c..in|
|00001f10| 74 09 09 09 53 69 6e 67 | 6c 65 20 63 68 61 72 61 |t...Sing|le chara|
|00001f20| 63 74 65 72 2e 0d 09 09 | 73 09 09 63 68 61 72 2a |cter....|s..char*|
|00001f30| 09 09 09 43 20 73 74 72 | 69 6e 67 2e 0d 09 09 66 |...C str|ing....f|
|00001f40| 09 09 64 6f 75 62 6c 65 | 09 09 5b 2d 5d 6d 2e 64 |..double|..[-]m.d|
|00001f50| 64 64 64 64 64 2c 20 77 | 68 65 72 65 20 74 68 65 |ddddd, w|here the|
|00001f60| 20 6e 75 6d 62 65 72 20 | 6f 66 20 64 27 73 20 69 | number |of d's i|
|00001f70| 73 20 67 69 76 65 6e 0d | 09 09 09 09 09 09 09 09 |s given.|........|
|00001f80| 62 79 20 74 68 65 20 70 | 72 65 63 69 73 69 6f 6e |by the p|recision|
|00001f90| 20 28 64 65 66 61 75 6c | 74 20 36 29 2e 0d 09 09 | (defaul|t 6)....|
|00001fa0| 65 2c 45 09 64 6f 75 62 | 6c 65 09 09 5b 2d 5d 6d |e,E.doub|le..[-]m|
|00001fb0| 2e 64 64 64 64 64 64 65 | b1 78 78 20 6f 72 20 5b |.dddddde|.xx or [|
|00001fc0| 2d 5d 6d 2e 64 64 64 64 | 64 64 45 b1 78 78 2c 20 |-]m.dddd|ddE.xx, |
|00001fd0| 77 68 65 72 65 20 74 68 | 65 0d 09 09 09 09 09 09 |where th|e.......|
|00001fe0| 09 09 6e 75 6d 62 65 72 | 20 6f 66 20 64 27 73 20 |..number| of d's |
|00001ff0| 69 73 20 67 69 76 65 6e | 20 62 79 20 74 68 65 20 |is given| by the |
|00002000| 70 72 65 63 69 73 69 6f | 6e 0d 09 09 09 09 09 09 |precisio|n.......|
|00002010| 09 09 28 64 65 66 61 75 | 6c 74 20 36 29 2e 0d 09 |..(defau|lt 6)...|
|00002020| 09 67 2c 47 09 64 6f 75 | 62 6c 65 09 09 55 73 65 |.g,G.dou|ble..Use|
|00002030| 20 25 65 20 6f 72 20 25 | 45 20 69 66 20 74 68 65 | %e or %|E if the|
|00002040| 20 65 78 70 6f 6e 65 6e | 74 20 69 73 20 6c 65 73 | exponen|t is les|
|00002050| 73 20 74 68 61 6e 20 2d | 34 0d 09 09 09 09 09 09 |s than -|4.......|
|00002060| 09 09 6f 72 20 67 72 65 | 61 74 65 72 20 74 68 61 |..or gre|ater tha|
|00002070| 6e 20 6f 72 20 65 71 75 | 61 6c 20 74 6f 20 74 68 |n or equ|al to th|
|00002080| 65 20 70 72 65 63 69 73 | 69 6f 6e 3b 0d 09 09 09 |e precis|ion;....|
|00002090| 09 09 09 09 09 6f 74 68 | 65 72 77 69 73 65 20 75 |.....oth|erwise u|
|000020a0| 73 65 20 25 66 2e 20 54 | 72 61 69 6c 69 6e 67 20 |se %f. T|railing |
|000020b0| 7a 65 72 6f 73 20 61 6e | 64 20 61 0d 09 09 09 09 |zeros an|d a.....|
|000020c0| 09 09 09 09 74 72 61 69 | 6c 69 6e 67 20 64 65 63 |....trai|ling dec|
|000020d0| 69 6d 61 6c 20 70 6f 69 | 6e 74 20 61 72 65 20 6e |imal poi|nt are n|
|000020e0| 6f 74 20 70 72 69 6e 74 | 65 64 2e 0d 09 09 70 09 |ot print|ed....p.|
|000020f0| 09 76 6f 69 64 2a 09 09 | 09 50 6f 69 6e 74 65 72 |.void*..|.Pointer|
|00002100| 2e 0d 09 09 25 09 09 09 | 09 09 09 4e 6f 20 61 72 |....%...|...No ar|
|00002110| 67 75 6d 65 6e 74 20 69 | 73 20 63 6f 6e 76 65 72 |gument i|s conver|
|00002120| 74 65 64 3b 20 70 72 69 | 6e 74 20 61 20 25 2e 0d |ted; pri|nt a %..|
|00002130| 09 0d 09 54 68 65 20 73 | 75 70 70 6f 72 74 65 64 |...The s|upported|
|00002140| 20 4d 50 57 20 65 78 74 | 65 6e 73 69 6f 6e 73 20 | MPW ext|ensions |
|00002150| 61 72 65 3a 0d 09 0d 09 | 09 50 09 09 53 74 72 69 |are:....|.P..Stri|
|00002160| 6e 67 50 74 72 09 50 61 | 73 63 61 6c 20 73 74 72 |ngPtr.Pa|scal str|
|00002170| 69 6e 67 2e 0d 09 0d 09 | 4f 66 20 74 68 65 20 4d |ing.....|Of the M|
|00002180| 50 57 20 70 72 69 6e 74 | 66 20 63 6f 6e 76 65 72 |PW print|f conver|
|00002190| 74 69 6f 6e 20 63 68 61 | 72 61 63 74 65 72 73 20 |tion cha|racters |
|000021a0| 6f 6e 6c 79 20 22 6e 22 | 20 69 73 20 6e 6f 74 20 |only "n"| is not |
|000021b0| 73 75 70 70 6f 72 74 65 | 64 2e 0d 09 49 6e 20 61 |supporte|d...In a|
|000021c0| 64 64 69 74 69 6f 6e 20 | 74 6f 20 74 68 65 20 73 |ddition |to the s|
|000021d0| 74 61 6e 64 61 72 64 20 | 63 68 61 72 61 63 74 65 |tandard |characte|
|000021e0| 72 73 2c 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |rs, the |followin|
|000021f0| 67 20 61 72 65 20 64 65 | 66 69 6e 65 64 3a 0d 09 |g are de|fined:..|
|00002200| 0d 09 09 62 09 09 42 6f | 6f 6c 65 61 6e 09 09 4f |...b..Bo|olean..O|
|00002210| 75 74 70 75 74 73 20 65 | 69 74 68 65 72 20 74 72 |utputs e|ither tr|
|00002220| 75 65 20 6f 72 20 66 61 | 6c 73 65 2e 0d 09 09 6a |ue or fa|lse....j|
|00002230| 09 09 50 6f 69 6e 74 09 | 09 09 55 73 65 64 20 6c |..Point.|..Used l|
|00002240| 69 6b 65 20 74 68 65 20 | 64 20 6f 70 74 69 6f 6e |ike the |d option|
|00002250| 2e 0d 09 09 4a 09 09 70 | 6f 69 6e 74 2a 09 09 46 |....J..p|oint*..F|
|00002260| 69 78 65 64 20 70 6f 69 | 6e 74 2e 20 55 73 65 64 |ixed poi|nt. Used|
|00002270| 20 6c 69 6b 65 20 74 68 | 65 20 66 20 6f 70 74 69 | like th|e f opti|
|00002280| 6f 6e 2e 0d 09 09 46 09 | 09 46 69 78 65 64 09 09 |on....F.|.Fixed..|
|00002290| 09 55 73 65 64 20 6c 69 | 6b 65 20 74 68 65 20 66 |.Used li|ke the f|
|000022a0| 20 6f 70 74 69 6f 6e 2e | 0d 09 09 54 09 09 46 72 | option.|...T..Fr|
|000022b0| 61 63 74 09 09 09 55 73 | 65 64 20 6c 69 6b 65 20 |act...Us|ed like |
|000022c0| 74 68 65 20 66 20 6f 70 | 74 69 6f 6e 2e 0d 09 09 |the f op|tion....|
|000022d0| 72 09 09 52 65 63 74 2a | 09 09 09 44 69 73 70 6c |r..Rect*|...Displ|
|000022e0| 61 79 73 20 74 68 65 20 | 72 65 63 74 20 77 69 74 |ays the |rect wit|
|000022f0| 68 20 65 61 63 68 20 70 | 69 65 63 65 20 73 65 70 |h each p|iece sep|
|00002300| 65 72 61 74 65 64 20 62 | 79 0d 09 09 09 09 09 09 |erated b|y.......|
|00002310| 09 09 22 2c 20 22 2e 20 | 55 73 65 64 20 6c 69 6b |..", ". |Used lik|
|00002320| 65 20 74 68 65 20 64 20 | 6f 70 74 69 6f 6e 2e 0d |e the d |option..|
|00002330| 09 09 52 09 09 72 65 63 | 74 61 6e 67 6c 65 2a 09 |..R..rec|tangle*.|
|00002340| 53 69 6d 69 6c 61 72 20 | 74 6f 20 72 20 62 75 74 |Similar |to r but|
|00002350| 20 66 6f 72 20 66 69 78 | 65 64 20 70 6f 69 6e 74 | for fix|ed point|
|00002360| 20 72 65 63 74 61 6e 67 | 6c 65 73 2e 0d 09 09 09 | rectang|les.....|
|00002370| 09 09 09 09 09 55 73 65 | 64 20 6c 69 6b 65 20 74 |.....Use|d like t|
|00002380| 68 65 20 66 20 6f 70 74 | 69 6f 6e 2e 0d 09 09 4d |he f opt|ion....M|
|00002390| 09 09 6d 61 70 70 69 6e | 67 2e 09 09 44 69 73 70 |..mappin|g...Disp|
|000023a0| 6c 61 79 73 20 74 68 65 | 20 6d 61 70 70 69 6e 67 |lays the| mapping|
|000023b0| 20 73 65 70 65 72 61 74 | 65 64 20 62 79 20 22 2c | seperat|ed by ",|
|000023c0| 20 22 20 61 6e 64 0d 09 | 09 09 09 09 09 09 09 22 | " and..|......."|
|000023d0| 5c 6e 22 2e 20 54 68 65 | 20 74 68 69 72 64 20 63 |\n". The| third c|
|000023e0| 6f 6c 75 6d 6e 20 69 73 | 20 64 69 73 70 6c 61 79 |olumn is| display|
|000023f0| 65 64 20 61 73 20 66 72 | 61 63 74 2e 0d 09 09 09 |ed as fr|act.....|
|00002400| 09 09 09 09 09 55 73 65 | 64 20 6c 69 6b 65 20 74 |.....Use|d like t|
|00002410| 68 65 20 66 20 6f 70 74 | 69 6f 6e 2e 0d 09 0d 09 |he f opt|ion.....|
|00002420| 09 0d 09 64 70 72 69 6e | 74 66 20 72 65 71 75 69 |...dprin|tf requi|
|00002430| 72 65 73 20 74 68 61 74 | 20 74 68 65 20 4d 61 63 |res that| the Mac|
|00002440| 73 42 75 67 20 64 63 6d | 64 20 64 70 72 69 6e 74 |sBug dcm|d dprint|
|00002450| 66 20 69 73 20 70 72 65 | 73 65 6e 74 2e 0d 09 0d |f is pre|sent....|
|00002460| 09 43 68 61 72 61 63 74 | 65 72 73 20 75 73 65 64 |.Charact|ers used|
|00002470| 3a 09 20 62 63 64 65 66 | 67 68 69 6a 20 6c 20 6e |:. bcdef|ghij l n|
|00002480| 6f 70 20 72 73 20 75 20 | 20 78 0d 09 09 09 09 09 |op rs u | x......|
|00002490| 09 09 20 20 20 20 45 46 | 47 20 20 4a 20 4c 4d 20 |.. EF|G J LM |
|000024a0| 20 50 20 52 20 54 20 20 | 20 58 0d 09 4e 6f 74 20 | P R T | X..Not |
|000024b0| 75 73 65 64 3a 09 09 09 | 61 20 20 20 20 20 20 20 |used:...|a |
|000024c0| 20 20 6b 20 6d 20 20 20 | 71 20 20 74 20 76 77 20 | k m |q t vw |
|000024d0| 79 7a 0d 09 09 09 09 09 | 09 09 41 42 43 44 20 20 |yz......|..ABCD |
|000024e0| 20 48 49 20 4b 20 20 4e | 4f 20 51 20 53 20 55 56 | HI K N|O Q S UV|
|000024f0| 57 20 59 5a 0d 09 0d 09 | 53 65 65 20 74 68 65 20 |W YZ....|See the |
|00002500| 4d 50 57 20 43 20 52 65 | 66 65 72 65 6e 63 65 20 |MPW C Re|ference |
|00002510| 66 6f 72 20 6d 6f 72 65 | 20 69 6e 66 6f 72 6d 61 |for more| informa|
|00002520| 74 69 6f 6e 20 6f 6e 20 | 70 72 69 6e 74 66 2e 0d |tion on |printf..|
|00002530| 0d 45 63 68 6f 20 22 09 | 09 09 09 09 09 09 09 09 |.Echo ".|........|
|00002540| 09 09 09 09 09 09 b6 6e | b6 0d 09 50 52 49 4e 54 |.......n|...PRINT|
|00002550| 09 09 09 4f 46 46 2c 4e | 4f 48 44 52 09 09 09 09 |...OFF,N|OHDR....|
|00002560| 09 09 09 09 09 b6 6e b6 | 0d 09 49 4e 43 4c 55 44 |......n.|..INCLUD|
|00002570| 45 09 09 27 54 72 61 70 | 73 2e 61 27 09 09 09 09 |E..'Trap|s.a'....|
|00002580| 09 09 09 09 09 b6 6e b6 | 0d 09 50 52 49 4e 54 09 |......n.|..PRINT.|
|00002590| 09 09 4f 4e 09 09 09 09 | 09 09 09 09 09 09 09 09 |..ON....|........|
|000025a0| b6 6e b6 0d 09 50 52 4f | 43 09 09 09 09 09 09 09 |.n...PRO|C.......|
|000025b0| 09 09 09 09 09 09 09 09 | b6 6e b6 0d 09 5f 44 65 |........|.n..._De|
|000025c0| 62 75 67 53 74 72 09 09 | 09 09 09 09 09 09 09 09 |bugStr..|........|
|000025d0| 09 09 09 b6 6e b6 0d 09 | 53 55 42 51 09 09 09 23 |....n...|SUBQ...#|
|000025e0| 34 2c 53 50 09 09 3b 20 | 46 69 78 20 74 68 65 20 |4,SP..; |Fix the |
|000025f0| 73 74 61 63 6b 09 09 09 | 09 b6 6e b6 0d 09 45 4e |stack...|..n...EN|
|00002600| 44 50 52 4f 43 09 09 09 | 09 09 09 09 09 09 09 09 |DPROC...|........|
|00002610| 09 09 09 b6 6e b6 0d 09 | 45 4e 44 09 09 09 09 09 |....n...|END.....|
|00002620| 09 09 09 09 09 09 09 09 | 09 09 b6 6e b6 0d 22 20 |........|...n.." |
|00002630| 7c 20 41 73 6d 20 2d 6c | 0d 0d 2a 2a 2a 2a 2a 2a || Asm -l|..******|
|00002640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2f |********|*******/|
|00002680| 0d 0d 76 6f 69 64 20 64 | 70 72 69 6e 74 66 28 53 |..void d|printf(S|
|00002690| 74 72 69 6e 67 50 74 72 | 2c 20 63 68 61 72 5b 5d |tringPtr|, char[]|
|000026a0| 2c 20 2e 2e 2e 29 0d 09 | 3d 20 7b 20 30 78 41 42 |, ...)..|= { 0xAB|
|000026b0| 46 46 2c 20 30 78 35 39 | 34 46 20 7d 3b 0d 0d 2f |FF, 0x59|4F };../|
|000026c0| 2a 3c 46 46 3e 2a 2f 0d | 2f 2a 2a 2a 2a 2a 2a 2a |*<FF>*/.|/*******|
|000026d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000026e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000026f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002700| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 0d |********|******..|
|00002710| 52 4f 55 54 49 4e 45 0d | 09 76 6f 69 64 2a 20 63 |ROUTINE.|.void* c|
|00002720| 68 65 63 6b 5f 64 70 72 | 69 6e 74 66 28 61 73 73 |heck_dpr|intf(ass|
|00002730| 65 72 74 69 6f 6e 2c 20 | 74 72 61 63 65 4f 70 74 |ertion, |traceOpt|
|00002740| 69 6f 6e 2c 20 66 6f 72 | 6d 61 74 2c 20 2e 2e 2e |ion, for|mat, ...|
|00002750| 29 0d 0d 44 45 53 43 52 | 49 50 54 49 4f 4e 0d 09 |)..DESCR|IPTION..|
|00002760| 49 66 20 61 73 73 65 72 | 74 69 6f 6e 20 69 73 20 |If asser|tion is |
|00002770| 6e 6f 6e 2d 7a 65 72 6f | 20 74 68 65 6e 20 61 73 |non-zero| then as|
|00002780| 73 65 72 74 69 6f 6e 20 | 69 73 20 72 65 74 75 72 |sertion |is retur|
|00002790| 6e 65 64 2e 20 4f 74 68 | 65 72 77 69 73 65 20 74 |ned. Oth|erwise t|
|000027a0| 68 65 0d 09 64 70 72 69 | 6e 74 66 20 69 73 20 69 |he..dpri|ntf is i|
|000027b0| 6e 76 6f 6b 65 64 20 61 | 6e 64 20 7a 65 72 6f 20 |nvoked a|nd zero |
|000027c0| 69 73 20 72 65 74 75 72 | 6e 65 64 2e 0d 09 0d 45 |is retur|ned....E|
|000027d0| 63 68 6f 20 22 09 09 09 | 09 09 09 09 09 09 09 09 |cho "...|........|
|000027e0| 09 09 09 09 b6 6e b6 0d | 09 50 52 49 4e 54 09 09 |.....n..|.PRINT..|
|000027f0| 09 4f 46 46 2c 4e 4f 48 | 44 52 09 09 09 09 09 09 |.OFF,NOH|DR......|
|00002800| 09 09 09 b6 6e b6 0d 09 | 49 4e 43 4c 55 44 45 09 |....n...|INCLUDE.|
|00002810| 09 27 54 72 61 70 73 2e | 61 27 09 09 09 09 09 09 |.'Traps.|a'......|
|00002820| 09 09 09 b6 6e b6 0d 09 | 50 52 49 4e 54 09 09 09 |....n...|PRINT...|
|00002830| 4f 4e 09 09 09 09 09 09 | 09 09 09 09 09 09 b6 6e |ON......|.......n|
|00002840| b6 0d 09 50 52 4f 43 09 | 09 09 09 09 09 09 09 09 |...PROC.|........|
|00002850| 09 09 09 09 09 09 b6 6e | b6 0d 09 4d 4f 56 45 2e |.......n|...MOVE.|
|00002860| 4c 09 09 28 53 50 29 2b | 2c 44 30 09 3b 20 50 6f |L..(SP)+|,D0.; Po|
|00002870| 70 20 76 61 6c 75 65 20 | 69 6e 74 6f 20 44 30 09 |p value |into D0.|
|00002880| 09 09 b6 6e b6 0d 09 42 | 4e 45 2e 53 09 09 09 40 |...n...B|NE.S...@|
|00002890| 31 09 09 09 3b 20 49 66 | 20 21 30 20 74 68 65 6e |1...; If| !0 then|
|000028a0| 20 62 72 61 6e 63 68 09 | 09 09 b6 6e b6 0d 09 5f | branch.|...n..._|
|000028b0| 44 65 62 75 67 53 74 72 | 09 09 09 09 09 09 09 09 |DebugStr|........|
|000028c0| 09 09 09 09 09 b6 6e b6 | 0d 09 53 55 42 51 09 09 |......n.|..SUBQ..|
|000028d0| 09 23 34 2c 53 50 09 09 | 3b 20 46 69 78 20 74 68 |.#4,SP..|; Fix th|
|000028e0| 65 20 73 74 61 63 6b 09 | 09 09 09 b6 6e b6 0d 09 |e stack.|....n...|
|000028f0| 43 4c 52 2e 57 09 09 09 | 44 30 09 09 09 3b 20 52 |CLR.W...|D0...; R|
|00002900| 65 73 75 6c 74 20 69 73 | 20 7a 65 72 6f 09 09 09 |esult is| zero...|
|00002910| 09 b6 6e b6 0d 40 31 09 | 53 55 42 51 09 09 09 23 |..n..@1.|SUBQ...#|
|00002920| 34 2c 53 50 09 09 3b 20 | 46 69 78 20 73 74 61 63 |4,SP..; |Fix stac|
|00002930| 6b 20 66 6f 72 20 70 6f | 70 09 09 09 b6 6e b6 0d |k for po|p....n..|
|00002940| 09 45 4e 44 50 52 4f 43 | 09 09 09 09 09 09 09 09 |.ENDPROC|........|
|00002950| 09 09 09 09 09 09 b6 6e | b6 0d 09 45 4e 44 09 09 |.......n|...END..|
|00002960| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 b6 6e b6 |........|......n.|
|00002970| 0d 22 20 7c 20 41 73 6d | 20 2d 6c 0d 09 0d 2a 2a |." | Asm| -l...**|
|00002980| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002990| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000029a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000029b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000029c0| 2a 2a 2a 2f 0d 09 0d 76 | 6f 69 64 2a 20 63 68 65 |***/...v|oid* che|
|000029d0| 63 6b 5f 64 70 72 69 6e | 74 66 28 76 6f 69 64 2a |ck_dprin|tf(void*|
|000029e0| 2c 20 53 74 72 69 6e 67 | 50 74 72 2c 20 63 68 61 |, String|Ptr, cha|
|000029f0| 72 5b 5d 2c 20 2e 2e 2e | 29 20 3d 0d 09 7b 20 30 |r[], ...|) =..{ 0|
|00002a00| 78 32 30 31 46 2c 20 30 | 78 36 36 30 36 2c 20 30 |x201F, 0|x6606, 0|
|00002a10| 78 41 42 46 46 2c 20 30 | 78 35 39 34 46 2c 20 30 |xABFF, 0|x594F, 0|
|00002a20| 78 34 32 34 30 2c 20 30 | 78 35 39 34 46 20 7d 3b |x4240, 0|x594F };|
|00002a30| 0d 09 0d 2f 2a 3c 46 46 | 3e 2a 2f 0d 2f 2a 2a 2a |.../*<FF|>*/./***|
|00002a40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a80| 2a 2a 0d 0d 52 4f 55 54 | 49 4e 45 0d 09 76 6f 69 |**..ROUT|INE..voi|
|00002a90| 64 2a 20 63 68 65 63 6b | 70 6f 73 5f 64 70 72 69 |d* check|pos_dpri|
|00002aa0| 6e 74 66 28 61 73 73 65 | 72 74 69 6f 6e 2c 20 74 |ntf(asse|rtion, t|
|00002ab0| 72 61 63 65 4f 70 74 69 | 6f 6e 2c 20 66 6f 72 6d |raceOpti|on, form|
|00002ac0| 61 74 2c 20 2e 2e 2e 29 | 0d 0d 44 45 53 43 52 49 |at, ...)|..DESCRI|
|00002ad0| 50 54 49 4f 4e 0d 09 49 | 66 20 61 73 73 65 72 74 |PTION..I|f assert|
|00002ae0| 69 6f 6e 20 69 73 20 70 | 6f 73 69 74 69 76 65 20 |ion is p|ositive |
|00002af0| 74 68 65 6e 20 61 73 73 | 65 72 74 69 6f 6e 20 69 |then ass|ertion i|
|00002b00| 73 20 72 65 74 75 72 6e | 65 64 2e 20 4f 74 68 65 |s return|ed. Othe|
|00002b10| 72 77 69 73 65 20 74 68 | 65 0d 09 64 70 72 69 6e |rwise th|e..dprin|
|00002b20| 74 66 20 69 73 20 69 6e | 76 6f 6b 65 64 20 61 6e |tf is in|voked an|
|00002b30| 64 20 7a 65 72 6f 20 69 | 73 20 72 65 74 75 72 6e |d zero i|s return|
|00002b40| 65 64 2e 0d 09 0d 45 63 | 68 6f 20 22 09 09 09 09 |ed....Ec|ho "....|
|00002b50| 09 09 09 09 09 09 09 09 | 09 09 09 b6 6e b6 0d 09 |........|....n...|
|00002b60| 50 52 49 4e 54 09 09 09 | 4f 46 46 2c 4e 4f 48 44 |PRINT...|OFF,NOHD|
|00002b70| 52 09 09 09 09 09 09 09 | 09 09 b6 6e b6 0d 09 49 |R.......|...n...I|
|00002b80| 4e 43 4c 55 44 45 09 09 | 27 54 72 61 70 73 2e 61 |NCLUDE..|'Traps.a|
|00002b90| 27 09 09 09 09 09 09 09 | 09 09 b6 6e b6 0d 09 50 |'.......|...n...P|
|00002ba0| 52 49 4e 54 09 09 09 4f | 4e 09 09 09 09 09 09 09 |RINT...O|N.......|
|00002bb0| 09 09 09 09 09 b6 6e b6 | 0d 09 50 52 4f 43 09 09 |......n.|..PROC..|
|00002bc0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 b6 6e b6 |........|......n.|
|00002bd0| 0d 09 4d 4f 56 45 2e 4c | 09 09 28 53 50 29 2b 2c |..MOVE.L|..(SP)+,|
|00002be0| 44 30 09 3b 20 50 6f 70 | 20 76 61 6c 75 65 20 69 |D0.; Pop| value i|
|00002bf0| 6e 74 6f 20 44 30 09 09 | 09 b6 6e b6 0d 09 42 47 |nto D0..|..n...BG|
|00002c00| 45 2e 53 09 09 09 40 31 | 09 09 09 3b 20 49 66 20 |E.S...@1|...; If |
|00002c10| 3e 3d 20 30 20 74 68 65 | 6e 20 62 72 61 6e 63 68 |>= 0 the|n branch|
|00002c20| 09 09 b6 6e b6 0d 09 5f | 44 65 62 75 67 53 74 72 |...n..._|DebugStr|
|00002c30| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 b6 6e b6 |........|......n.|
|00002c40| 0d 09 53 55 42 51 09 09 | 09 23 34 2c 53 50 09 09 |..SUBQ..|.#4,SP..|
|00002c50| 3b 20 46 69 78 20 74 68 | 65 20 73 74 61 63 6b 09 |; Fix th|e stack.|
|00002c60| 09 09 09 b6 6e b6 0d 09 | 43 4c 52 2e 57 09 09 09 |....n...|CLR.W...|
|00002c70| 44 30 09 09 09 3b 20 52 | 65 73 75 6c 74 20 69 73 |D0...; R|esult is|
|00002c80| 20 7a 65 72 6f 09 09 09 | 09 b6 6e b6 0d 40 31 09 | zero...|..n..@1.|
|00002c90| 53 55 42 51 09 09 09 23 | 34 2c 53 50 09 09 3b 20 |SUBQ...#|4,SP..; |
|00002ca0| 46 69 78 20 73 74 61 63 | 6b 20 66 6f 72 20 70 6f |Fix stac|k for po|
|00002cb0| 70 09 09 09 b6 6e b6 0d | 09 45 4e 44 50 52 4f 43 |p....n..|.ENDPROC|
|00002cc0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 b6 6e |........|.......n|
|00002cd0| b6 0d 09 45 4e 44 09 09 | 09 09 09 09 09 09 09 09 |...END..|........|
|00002ce0| 09 09 09 09 09 b6 6e b6 | 0d 22 20 7c 20 41 73 6d |......n.|." | Asm|
|00002cf0| 20 2d 6c 0d 09 0d 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | -l...**|********|
|00002d00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2f 0d 09 0d 76 |********|***/...v|
|00002d40| 6f 69 64 2a 20 63 68 65 | 63 6b 70 6f 73 5f 64 70 |oid* che|ckpos_dp|
|00002d50| 72 69 6e 74 66 28 76 6f | 69 64 2a 2c 20 53 74 72 |rintf(vo|id*, Str|
|00002d60| 69 6e 67 50 74 72 2c 20 | 63 68 61 72 5b 5d 2c 20 |ingPtr, |char[], |
|00002d70| 2e 2e 2e 29 20 3d 0d 09 | 7b 20 30 78 32 30 31 46 |...) =..|{ 0x201F|
|00002d80| 2c 20 30 78 36 43 30 36 | 2c 20 30 78 41 42 46 46 |, 0x6C06|, 0xABFF|
|00002d90| 2c 20 30 78 35 39 34 46 | 2c 20 30 78 34 32 34 30 |, 0x594F|, 0x4240|
|00002da0| 2c 20 30 78 35 39 34 46 | 20 7d 3b 0d 0d 2f 2a 3c |, 0x594F| };../*<|
|00002db0| 46 46 3e 2a 2f 0d 2f 2a | 2a 2a 2a 2a 2a 2a 2a 2a |FF>*/./*|********|
|00002dc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002dd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002de0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002df0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0d 4d 41 |********|****..MA|
|00002e00| 43 52 4f 0d 09 63 68 65 | 63 6b 28 61 73 73 65 72 |CRO..che|ck(asser|
|00002e10| 74 69 6f 6e 29 0d 0d 44 | 45 53 43 52 49 50 54 49 |tion)..D|ESCRIPTI|
|00002e20| 4f 4e 0d 09 49 66 20 64 | 65 62 75 67 67 69 6e 67 |ON..If d|ebugging|
|00002e30| 20 69 73 20 6f 6e 20 74 | 68 65 6e 20 63 68 65 63 | is on t|hen chec|
|00002e40| 6b 20 77 69 6c 6c 20 74 | 65 73 74 20 61 73 73 65 |k will t|est asse|
|00002e50| 72 74 69 6f 6e 20 61 6e | 64 20 69 66 20 69 74 20 |rtion an|d if it |
|00002e60| 66 61 69 6c 73 0d 09 62 | 72 65 61 6b 20 69 6e 74 |fails..b|reak int|
|00002e70| 6f 20 74 68 65 20 64 65 | 62 75 67 67 65 72 2e 20 |o the de|bugger. |
|00002e80| 4f 74 68 65 72 77 69 73 | 65 20 63 68 65 63 6b 20 |Otherwis|e check |
|00002e90| 64 6f 65 73 20 6e 6f 74 | 68 69 6e 67 2e 0d 0d 2a |does not|hing...*|
|00002ea0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002eb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ec0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ed0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ee0| 2a 2a 2a 2a 2f 0d 0d 23 | 69 66 09 5f 5f 44 45 42 |****/..#|if.__DEB|
|00002ef0| 55 47 53 4d 41 4c 4c 0d | 0d 23 64 65 66 69 6e 65 |UGSMALL.|.#define|
|00002f00| 20 63 68 65 63 6b 28 61 | 73 73 65 72 74 69 6f 6e | check(a|ssertion|
|00002f10| 29 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |).......|........|
|00002f20| 5c 0d 09 64 6f 20 7b 09 | 09 09 09 09 09 09 09 09 |\..do {.|........|
|00002f30| 09 09 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 09 |........|....\...|
|00002f40| 69 66 20 28 61 73 73 65 | 72 74 69 6f 6e 29 20 3b |if (asse|rtion) ;|
|00002f50| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00002f60| 5c 0d 09 09 65 6c 73 65 | 20 5f 5f 44 65 62 75 67 |\...else| __Debug|
|00002f70| 67 65 72 42 72 65 61 6b | 3b 09 09 09 09 09 09 09 |gerBreak|;.......|
|00002f80| 09 09 09 09 09 09 09 5c | 0d 09 7d 20 77 68 69 6c |.......\|..} whil|
|00002f90| 65 20 28 66 61 6c 73 65 | 29 0d 0d 23 65 6c 69 66 |e (false|)..#elif|
|00002fa0| 09 44 45 42 55 47 4c 45 | 56 45 4c 20 3d 3d 20 44 |.DEBUGLE|VEL == D|
|00002fb0| 45 42 55 47 4f 4e 0d 0d | 23 64 65 66 69 6e 65 20 |EBUGON..|#define |
|00002fc0| 63 68 65 63 6b 28 61 73 | 73 65 72 74 69 6f 6e 29 |check(as|sertion)|
|00002fd0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 5c |........|.......\|
|00002fe0| 0d 09 64 6f 20 7b 09 09 | 09 09 09 09 09 09 09 09 |..do {..|........|
|00002ff0| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 69 |........|...\...i|
|00003000| 66 20 28 61 73 73 65 72 | 74 69 6f 6e 29 20 3b 09 |f (asser|tion) ;.|
|00003010| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 5c |........|.......\|
|00003020| 0d 09 09 65 6c 73 65 20 | 7b 09 09 09 09 09 09 09 |...else |{.......|
|00003030| 09 09 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 09 |........|....\...|
|00003040| 09 64 70 72 69 6e 74 66 | 28 6e 6f 74 72 61 63 65 |.dprintf|(notrace|
|00003050| 2c 20 22 41 73 73 65 72 | 74 69 6f 6e 20 5c 22 25 |, "Asser|tion \"%|
|00003060| 73 5c 22 20 46 61 69 6c | 65 64 22 2c 09 23 61 73 |s\" Fail|ed",.#as|
|00003070| 73 65 72 74 69 6f 6e 29 | 3b 09 5c 0d 09 09 7d 09 |sertion)|;.\...}.|
|00003080| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003090| 09 09 09 09 5c 0d 09 7d | 20 77 68 69 6c 65 20 28 |....\..}| while (|
|000030a0| 66 61 6c 73 65 29 0d 0d | 23 65 6c 69 66 09 44 45 |false)..|#elif.DE|
|000030b0| 42 55 47 4c 45 56 45 4c | 20 3d 3d 20 44 45 42 55 |BUGLEVEL| == DEBU|
|000030c0| 47 46 55 4c 4c 0d 0d 23 | 64 65 66 69 6e 65 20 63 |GFULL..#|define c|
|000030d0| 68 65 63 6b 28 61 73 73 | 65 72 74 69 6f 6e 29 09 |heck(ass|ertion).|
|000030e0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|000030f0| 09 64 6f 20 7b 09 09 09 | 09 09 09 09 09 09 09 09 |.do {...|........|
|00003100| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 69 66 |........|..\...if|
|00003110| 20 28 61 73 73 65 72 74 | 69 6f 6e 29 20 3b 09 09 | (assert|ion) ;..|
|00003120| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|00003130| 09 09 65 6c 73 65 20 7b | 09 09 09 09 09 09 09 09 |..else {|........|
|00003140| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|00003150| 64 70 72 69 6e 74 66 28 | 6e 6f 74 72 61 63 65 2c |dprintf(|notrace,|
|00003160| 09 22 41 73 73 65 72 74 | 69 6f 6e 20 5c 22 25 73 |."Assert|ion \"%s|
|00003170| 5c 22 20 46 61 69 6c 65 | 64 5c 6e 22 09 09 09 09 |\" Faile|d\n"....|
|00003180| 09 5c 0d 09 09 09 09 09 | 09 09 09 09 22 46 69 6c |.\......|...."Fil|
|00003190| 65 3a 20 25 73 5c 6e 22 | 09 09 09 09 09 09 09 09 |e: %s\n"|........|
|000031a0| 09 09 5c 0d 09 09 09 09 | 09 09 09 09 09 22 4c 69 |..\.....|....."Li|
|000031b0| 6e 65 3a 20 25 64 22 2c | 09 09 09 09 09 09 09 09 |ne: %d",|........|
|000031c0| 09 09 09 5c 0d 09 09 09 | 09 23 61 73 73 65 72 74 |...\....|.#assert|
|000031d0| 69 6f 6e 2c 20 5f 5f 46 | 49 4c 45 5f 5f 2c 20 5f |ion, __F|ILE__, _|
|000031e0| 5f 4c 49 4e 45 5f 5f 29 | 3b 09 09 09 09 09 09 09 |_LINE__)|;.......|
|000031f0| 09 09 5c 0d 09 09 7d 09 | 09 09 09 09 09 09 09 09 |..\...}.|........|
|00003200| 09 09 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 7d |........|....\..}|
|00003210| 20 77 68 69 6c 65 20 28 | 66 61 6c 73 65 29 0d 09 | while (|false)..|
|00003220| 0d 23 65 6c 73 65 0d 0d | 23 64 65 66 69 6e 65 20 |.#else..|#define |
|00003230| 63 68 65 63 6b 28 61 73 | 73 65 72 74 69 6f 6e 29 |check(as|sertion)|
|00003240| 0d 0d 23 65 6e 64 69 66 | 0d 0d 2f 2a 3c 46 46 3e |..#endif|../*<FF>|
|00003250| 2a 2f 0d 2f 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*/./****|********|
|00003260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 0d 4d 41 43 52 4f |********|*..MACRO|
|000032a0| 0d 09 6e 63 68 65 63 6b | 28 61 73 73 65 72 74 69 |..ncheck|(asserti|
|000032b0| 6f 6e 29 0d 0d 44 45 53 | 43 52 49 50 54 49 4f 4e |on)..DES|CRIPTION|
|000032c0| 0d 09 49 66 20 64 65 62 | 75 67 67 69 6e 67 20 69 |..If deb|ugging i|
|000032d0| 73 20 6f 6e 20 74 68 65 | 6e 20 6e 63 68 65 63 6b |s on the|n ncheck|
|000032e0| 20 77 69 6c 6c 20 74 65 | 73 74 20 21 61 73 73 65 | will te|st !asse|
|000032f0| 72 74 69 6f 6e 20 61 6e | 64 20 69 66 20 69 74 20 |rtion an|d if it |
|00003300| 66 61 69 6c 73 0d 09 62 | 72 65 61 6b 20 69 6e 74 |fails..b|reak int|
|00003310| 6f 20 74 68 65 20 64 65 | 62 75 67 67 65 72 2e 20 |o the de|bugger. |
|00003320| 4f 74 68 65 72 77 69 73 | 65 20 6e 63 68 65 63 6b |Otherwis|e ncheck|
|00003330| 20 64 6f 65 73 20 6e 6f | 74 68 69 6e 67 2e 0d 0d | does no|thing...|
|00003340| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003350| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003360| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003370| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003380| 2a 2a 2a 2a 2a 2f 0d 0d | 23 69 66 09 5f 5f 44 45 |*****/..|#if.__DE|
|00003390| 42 55 47 53 4d 41 4c 4c | 0d 0d 23 64 65 66 69 6e |BUGSMALL|..#defin|
|000033a0| 65 20 6e 63 68 65 63 6b | 28 61 73 73 65 72 74 69 |e ncheck|(asserti|
|000033b0| 6f 6e 29 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |on).....|........|
|000033c0| 09 09 5c 0d 09 64 6f 20 | 7b 09 09 09 09 09 09 09 |..\..do |{.......|
|000033d0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|000033e0| 09 09 69 66 20 28 61 73 | 73 65 72 74 69 6f 6e 29 |..if (as|sertion)|
|000033f0| 20 5f 5f 44 65 62 75 67 | 67 65 72 42 72 65 61 6b | __Debug|gerBreak|
|00003400| 3b 09 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 7d |;.......|....\..}|
|00003410| 20 77 68 69 6c 65 20 28 | 66 61 6c 73 65 29 0d 0d | while (|false)..|
|00003420| 23 65 6c 69 66 09 44 45 | 42 55 47 4c 45 56 45 4c |#elif.DE|BUGLEVEL|
|00003430| 20 3d 3d 20 44 45 42 55 | 47 4f 4e 0d 0d 23 64 65 | == DEBU|GON..#de|
|00003440| 66 69 6e 65 20 6e 63 68 | 65 63 6b 28 61 73 73 65 |fine nch|eck(asse|
|00003450| 72 74 69 6f 6e 29 09 09 | 09 09 09 09 09 09 09 09 |rtion)..|........|
|00003460| 09 09 09 09 09 5c 0d 09 | 64 6f 20 7b 09 09 09 09 |.....\..|do {....|
|00003470| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003480| 09 5c 0d 09 09 76 6f 69 | 64 2a 09 5f 5f 70 72 69 |.\...voi|d*.__pri|
|00003490| 76 61 74 65 41 73 73 65 | 72 74 69 6f 6e 09 3d 20 |vateAsse|rtion.= |
|000034a0| 28 76 6f 69 64 2a 29 28 | 61 73 73 65 72 74 69 6f |(void*)(|assertio|
|000034b0| 6e 29 3b 09 09 09 09 09 | 5c 0d 09 09 09 09 09 09 |n);.....|\.......|
|000034c0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000034d0| 09 5c 0d 09 09 69 66 20 | 28 5f 5f 70 72 69 76 61 |.\...if |(__priva|
|000034e0| 74 65 41 73 73 65 72 74 | 69 6f 6e 29 20 7b 09 09 |teAssert|ion) {..|
|000034f0| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|00003500| 64 70 72 69 6e 74 66 28 | 6e 6f 74 72 61 63 65 2c |dprintf(|notrace,|
|00003510| 20 22 41 73 73 65 72 74 | 69 6f 6e 20 5c 22 21 28 | "Assert|ion \"!(|
|00003520| 25 73 20 5b 3d 20 25 23 | 30 38 58 5d 29 5c 22 20 |%s [= %#|08X])\" |
|00003530| 46 61 69 6c 65 64 22 2c | 09 09 5c 0d 09 09 09 09 |Failed",|..\.....|
|00003540| 23 61 73 73 65 72 74 69 | 6f 6e 2c 20 5f 5f 70 72 |#asserti|on, __pr|
|00003550| 69 76 61 74 65 41 73 73 | 65 72 74 69 6f 6e 29 3b |ivateAss|ertion);|
|00003560| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 7d 09 09 |........|.\...}..|
|00003570| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003580| 09 09 09 5c 0d 09 7d 20 | 77 68 69 6c 65 20 28 66 |...\..} |while (f|
|00003590| 61 6c 73 65 29 0d 0d 23 | 65 6c 69 66 09 44 45 42 |alse)..#|elif.DEB|
|000035a0| 55 47 4c 45 56 45 4c 20 | 3d 3d 20 44 45 42 55 47 |UGLEVEL |== DEBUG|
|000035b0| 46 55 4c 4c 0d 0d 23 64 | 65 66 69 6e 65 20 6e 63 |FULL..#d|efine nc|
|000035c0| 68 65 63 6b 28 61 73 73 | 65 72 74 69 6f 6e 29 09 |heck(ass|ertion).|
|000035d0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|000035e0| 09 64 6f 20 7b 09 09 09 | 09 09 09 09 09 09 09 09 |.do {...|........|
|000035f0| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 76 6f |........|..\...vo|
|00003600| 69 64 2a 09 5f 5f 70 72 | 69 76 61 74 65 41 73 73 |id*.__pr|ivateAss|
|00003610| 65 72 74 69 6f 6e 09 3d | 20 28 76 6f 69 64 2a 29 |ertion.=| (void*)|
|00003620| 28 61 73 73 65 72 74 69 | 6f 6e 29 3b 09 09 09 09 |(asserti|on);....|
|00003630| 09 5c 0d 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |.\......|........|
|00003640| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 69 66 |........|..\...if|
|00003650| 20 28 5f 5f 70 72 69 76 | 61 74 65 41 73 73 65 72 | (__priv|ateAsser|
|00003660| 74 69 6f 6e 29 20 7b 09 | 09 09 09 09 09 09 09 09 |tion) {.|........|
|00003670| 09 09 09 09 5c 0d 09 09 | 09 64 70 72 69 6e 74 66 |....\...|.dprintf|
|00003680| 28 6e 6f 74 72 61 63 65 | 2c 09 22 41 73 73 65 72 |(notrace|,."Asser|
|00003690| 74 69 6f 6e 20 5c 22 21 | 28 25 73 20 5b 3d 20 25 |tion \"!|(%s [= %|
|000036a0| 23 30 38 58 5d 29 5c 22 | 20 46 61 69 6c 65 64 5c |#08X])\"| Failed\|
|000036b0| 6e 22 09 5c 0d 09 09 09 | 09 09 09 09 09 09 22 46 |n".\....|......"F|
|000036c0| 69 6c 65 3a 20 25 73 5c | 6e 22 09 09 09 09 09 09 |ile: %s\|n"......|
|000036d0| 09 09 09 09 5c 0d 09 09 | 09 09 09 09 09 09 09 22 |....\...|......."|
|000036e0| 4c 69 6e 65 3a 20 25 64 | 22 2c 09 09 09 09 09 09 |Line: %d|",......|
|000036f0| 09 09 09 09 09 5c 0d 09 | 09 09 23 61 73 73 65 72 |.....\..|..#asser|
|00003700| 74 69 6f 6e 2c 20 5f 5f | 70 72 69 76 61 74 65 41 |tion, __|privateA|
|00003710| 73 73 65 72 74 69 6f 6e | 2c 20 5f 5f 46 49 4c 45 |ssertion|, __FILE|
|00003720| 5f 5f 2c 20 5f 5f 4c 49 | 4e 45 5f 5f 29 3b 09 09 |__, __LI|NE__);..|
|00003730| 09 5c 0d 09 09 7d 09 09 | 09 09 09 09 09 09 09 09 |.\...}..|........|
|00003740| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 7d 20 |........|...\..} |
|00003750| 77 68 69 6c 65 20 28 66 | 61 6c 73 65 29 0d 0d 23 |while (f|alse)..#|
|00003760| 65 6c 73 65 0d 0d 23 64 | 65 66 69 6e 65 20 6e 63 |else..#d|efine nc|
|00003770| 68 65 63 6b 28 61 73 73 | 65 72 74 69 6f 6e 29 0d |heck(ass|ertion).|
|00003780| 0d 23 65 6e 64 69 66 0d | 0d 2f 2a 3c 46 46 3e 2a |.#endif.|./*<FF>*|
|00003790| 2f 0d 2f 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/./*****|********|
|000037a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000037b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000037c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000037d0| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 0d 4d 41 43 52 4f 0d |********|..MACRO.|
|000037e0| 09 63 68 65 63 6b 5f 61 | 63 74 69 6f 6e 28 61 73 |.check_a|ction(as|
|000037f0| 73 65 72 74 69 6f 6e 2c | 20 61 63 74 69 6f 6e 29 |sertion,| action)|
|00003800| 0d 0d 44 45 53 43 52 49 | 50 54 49 4f 4e 0d 09 49 |..DESCRI|PTION..I|
|00003810| 66 20 64 65 62 75 67 67 | 69 6e 67 20 69 73 20 6f |f debugg|ing is o|
|00003820| 6e 20 74 68 65 6e 20 63 | 68 65 63 6b 5f 61 63 74 |n then c|heck_act|
|00003830| 69 6f 6e 20 77 69 6c 6c | 20 74 65 73 74 20 61 73 |ion will| test as|
|00003840| 73 65 72 74 69 6f 6e 20 | 61 6e 64 20 69 66 20 69 |sertion |and if i|
|00003850| 74 0d 09 66 61 69 6c 73 | 20 62 72 65 61 6b 20 69 |t..fails| break i|
|00003860| 6e 74 6f 20 74 68 65 20 | 64 65 62 75 67 67 65 72 |nto the |debugger|
|00003870| 20 74 68 65 6e 20 65 78 | 65 63 75 74 65 20 61 63 | then ex|ecute ac|
|00003880| 74 69 6f 6e 2e 20 4f 74 | 68 65 72 77 69 73 65 0d |tion. Ot|herwise.|
|00003890| 09 63 68 65 63 6b 5f 61 | 63 74 69 6f 6e 20 64 6f |.check_a|ction do|
|000038a0| 65 73 20 6e 6f 74 68 69 | 6e 67 2e 0d 09 0d 2a 2a |es nothi|ng....**|
|000038b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000038c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000038d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000038e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000038f0| 2a 2a 2a 2f 0d 0d 23 69 | 66 09 5f 5f 44 45 42 55 |***/..#i|f.__DEBU|
|00003900| 47 53 4d 41 4c 4c 0d 0d | 23 64 65 66 69 6e 65 20 |GSMALL..|#define |
|00003910| 63 68 65 63 6b 5f 61 63 | 74 69 6f 6e 28 61 73 73 |check_ac|tion(ass|
|00003920| 65 72 74 69 6f 6e 2c 20 | 61 63 74 69 6f 6e 29 09 |ertion, |action).|
|00003930| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 64 6f 20 7b |........|.\..do {|
|00003940| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003950| 09 09 09 09 09 5c 0d 09 | 09 69 66 20 28 61 73 73 |.....\..|.if (ass|
|00003960| 65 72 74 69 6f 6e 29 20 | 3b 09 09 09 09 09 09 09 |ertion) |;.......|
|00003970| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 65 6c 73 |........|.\...els|
|00003980| 65 20 7b 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |e {.....|........|
|00003990| 09 09 09 09 09 09 5c 0d | 09 09 09 5f 5f 44 65 62 |......\.|...__Deb|
|000039a0| 75 67 67 65 72 42 72 65 | 61 6b 3b 09 09 09 09 09 |uggerBre|ak;.....|
|000039b0| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 09 7b |........|..\....{|
|000039c0| 20 61 63 74 69 6f 6e 20 | 7d 09 09 09 09 09 09 09 | action |}.......|
|000039d0| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 7d 20 77 |........|..\..} w|
|000039e0| 68 69 6c 65 20 28 66 61 | 6c 73 65 29 0d 0d 23 65 |hile (fa|lse)..#e|
|000039f0| 6c 69 66 09 44 45 42 55 | 47 4c 45 56 45 4c 20 3d |lif.DEBU|GLEVEL =|
|00003a00| 3d 20 44 45 42 55 47 4f | 4e 0d 0d 23 64 65 66 69 |= DEBUGO|N..#defi|
|00003a10| 6e 65 20 63 68 65 63 6b | 5f 61 63 74 69 6f 6e 28 |ne check|_action(|
|00003a20| 61 73 73 65 72 74 69 6f | 6e 2c 20 61 63 74 69 6f |assertio|n, actio|
|00003a30| 6e 29 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 64 |n)......|....\..d|
|00003a40| 6f 20 7b 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |o {.....|........|
|00003a50| 09 09 09 09 09 09 09 09 | 5c 0d 09 09 69 66 20 28 |........|\...if (|
|00003a60| 61 73 73 65 72 74 69 6f | 6e 29 20 3b 09 09 09 09 |assertio|n) ;....|
|00003a70| 09 09 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 09 |........|....\...|
|00003a80| 65 6c 73 65 20 7b 09 09 | 09 09 09 09 09 09 09 09 |else {..|........|
|00003a90| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 64 70 |........|.\....dp|
|00003aa0| 72 69 6e 74 66 28 6e 6f | 74 72 61 63 65 2c 20 22 |rintf(no|trace, "|
|00003ab0| 41 73 73 65 72 74 69 6f | 6e 20 5c 22 25 73 5c 22 |Assertio|n \"%s\"|
|00003ac0| 20 46 61 69 6c 65 64 22 | 2c 09 23 61 73 73 65 72 | Failed"|,.#asser|
|00003ad0| 74 69 6f 6e 29 3b 09 5c | 0d 09 09 09 7b 20 61 63 |tion);.\|....{ ac|
|00003ae0| 74 69 6f 6e 20 7d 09 09 | 09 09 09 09 09 09 09 09 |tion }..|........|
|00003af0| 09 09 09 09 09 09 09 5c | 0d 09 09 7d 09 09 09 09 |.......\|...}....|
|00003b00| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003b10| 09 5c 0d 09 7d 20 77 68 | 69 6c 65 20 28 66 61 6c |.\..} wh|ile (fal|
|00003b20| 73 65 29 0d 0d 23 65 6c | 69 66 09 44 45 42 55 47 |se)..#el|if.DEBUG|
|00003b30| 4c 45 56 45 4c 20 3d 3d | 20 44 45 42 55 47 46 55 |LEVEL ==| DEBUGFU|
|00003b40| 4c 4c 0d 0d 23 64 65 66 | 69 6e 65 20 63 68 65 63 |LL..#def|ine chec|
|00003b50| 6b 5f 61 63 74 69 6f 6e | 28 61 73 73 65 72 74 69 |k_action|(asserti|
|00003b60| 6f 6e 2c 20 61 63 74 69 | 6f 6e 29 09 09 09 09 09 |on, acti|on).....|
|00003b70| 09 09 09 09 09 5c 0d 09 | 64 6f 20 7b 09 09 09 09 |.....\..|do {....|
|00003b80| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003b90| 09 5c 0d 09 09 69 66 20 | 28 61 73 73 65 72 74 69 |.\...if |(asserti|
|00003ba0| 6f 6e 29 20 3b 09 09 09 | 09 09 09 09 09 09 09 09 |on) ;...|........|
|00003bb0| 09 09 09 09 09 5c 0d 09 | 09 65 6c 73 65 20 7b 09 |.....\..|.else {.|
|00003bc0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003bd0| 09 09 5c 0d 09 09 09 64 | 70 72 69 6e 74 66 28 6e |..\....d|printf(n|
|00003be0| 6f 74 72 61 63 65 2c 09 | 22 41 73 73 65 72 74 69 |otrace,.|"Asserti|
|00003bf0| 6f 6e 20 5c 22 25 73 5c | 22 20 46 61 69 6c 65 64 |on \"%s\|" Failed|
|00003c00| 5c 6e 22 09 09 09 09 09 | 5c 0d 09 09 09 09 09 09 |\n".....|\.......|
|00003c10| 09 09 09 22 46 69 6c 65 | 3a 20 25 73 5c 6e 22 09 |..."File|: %s\n".|
|00003c20| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 09 09 |........|.\......|
|00003c30| 09 09 09 09 22 4c 69 6e | 65 3a 20 25 64 22 2c 09 |...."Lin|e: %d",.|
|00003c40| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 09 09 |........|..\.....|
|00003c50| 23 61 73 73 65 72 74 69 | 6f 6e 2c 20 5f 5f 46 49 |#asserti|on, __FI|
|00003c60| 4c 45 5f 5f 2c 20 5f 5f | 4c 49 4e 45 5f 5f 29 3b |LE__, __|LINE__);|
|00003c70| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 7b 20 |........|.\....{ |
|00003c80| 61 63 74 69 6f 6e 20 7d | 09 09 09 09 09 09 09 09 |action }|........|
|00003c90| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 7d 09 09 |........|.\...}..|
|00003ca0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003cb0| 09 09 09 5c 0d 09 7d 20 | 77 68 69 6c 65 20 28 66 |...\..} |while (f|
|00003cc0| 61 6c 73 65 29 0d 0d 23 | 65 6c 73 65 0d 0d 23 64 |alse)..#|else..#d|
|00003cd0| 65 66 69 6e 65 20 63 68 | 65 63 6b 5f 61 63 74 69 |efine ch|eck_acti|
|00003ce0| 6f 6e 28 61 73 73 65 72 | 74 69 6f 6e 2c 20 61 63 |on(asser|tion, ac|
|00003cf0| 74 69 6f 6e 29 0d 0d 23 | 65 6e 64 69 66 0d 0d 2f |tion)..#|endif../|
|00003d00| 2a 3c 46 46 3e 2a 2f 0d | 2f 2a 2a 2a 2a 2a 2a 2a |*<FF>*/.|/*******|
|00003d10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003d20| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003d30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003d40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003d50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|00003d60| 0d 4d 41 43 52 4f 0d 09 | 6e 63 68 65 63 6b 5f 61 |.MACRO..|ncheck_a|
|00003d70| 63 74 69 6f 6e 28 61 73 | 73 65 72 74 69 6f 6e 2c |ction(as|sertion,|
|00003d80| 20 61 63 74 69 6f 6e 29 | 0d 0d 44 45 53 43 52 49 | action)|..DESCRI|
|00003d90| 50 54 49 4f 4e 0d 09 49 | 66 20 64 65 62 75 67 67 |PTION..I|f debugg|
|00003da0| 69 6e 67 20 69 73 20 6f | 6e 20 74 68 65 6e 20 6e |ing is o|n then n|
|00003db0| 63 68 65 63 6b 5f 61 63 | 74 69 6f 6e 20 77 69 6c |check_ac|tion wil|
|00003dc0| 6c 20 74 65 73 74 20 21 | 61 73 73 65 72 74 69 6f |l test !|assertio|
|00003dd0| 6e 20 61 6e 64 20 69 66 | 0d 09 69 74 20 66 61 69 |n and if|..it fai|
|00003de0| 6c 73 20 62 72 65 61 6b | 20 69 6e 74 6f 20 74 68 |ls break| into th|
|00003df0| 65 20 64 65 62 75 67 67 | 65 72 20 74 68 65 6e 20 |e debugg|er then |
|00003e00| 65 78 65 63 75 74 65 20 | 61 63 74 69 6f 6e 2e 20 |execute |action. |
|00003e10| 4f 74 68 65 72 77 69 73 | 65 0d 09 6e 63 68 65 63 |Otherwis|e..nchec|
|00003e20| 6b 5f 61 63 74 69 6f 6e | 20 64 6f 65 73 20 6e 6f |k_action| does no|
|00003e30| 74 68 69 6e 67 2e 0d 0d | 2a 2a 2a 2a 2a 2a 2a 2a |thing...|********|
|00003e40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003e50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003e60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003e70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2f 0d 0d |********|*****/..|
|00003e80| 23 69 66 09 5f 5f 44 45 | 42 55 47 53 4d 41 4c 4c |#if.__DE|BUGSMALL|
|00003e90| 0d 0d 23 64 65 66 69 6e | 65 20 6e 63 68 65 63 6b |..#defin|e ncheck|
|00003ea0| 5f 61 63 74 69 6f 6e 28 | 61 73 73 65 72 74 69 6f |_action(|assertio|
|00003eb0| 6e 2c 20 61 63 74 69 6f | 6e 29 09 09 09 09 09 09 |n, actio|n)......|
|00003ec0| 09 09 09 09 5c 0d 09 64 | 6f 20 7b 09 09 09 09 09 |....\..d|o {.....|
|00003ed0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003ee0| 5c 0d 09 09 69 66 20 28 | 61 73 73 65 72 74 69 6f |\...if (|assertio|
|00003ef0| 6e 29 20 7b 09 09 09 09 | 09 09 09 09 09 09 09 09 |n) {....|........|
|00003f00| 09 09 09 09 5c 0d 09 09 | 09 5f 5f 44 65 62 75 67 |....\...|.__Debug|
|00003f10| 67 65 72 42 72 65 61 6b | 3b 09 09 09 09 09 09 09 |gerBreak|;.......|
|00003f20| 09 09 09 09 09 09 09 09 | 5c 0d 09 09 09 7b 20 61 |........|\....{ a|
|00003f30| 63 74 69 6f 6e 20 7d 09 | 09 09 09 09 09 09 09 09 |ction }.|........|
|00003f40| 09 09 09 09 09 09 09 09 | 5c 0d 09 09 7d 09 09 09 |........|\...}...|
|00003f50| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003f60| 09 09 5c 0d 09 7d 20 77 | 68 69 6c 65 20 28 66 61 |..\..} w|hile (fa|
|00003f70| 6c 73 65 29 0d 0d 23 65 | 6c 69 66 09 44 45 42 55 |lse)..#e|lif.DEBU|
|00003f80| 47 4c 45 56 45 4c 20 3d | 3d 20 44 45 42 55 47 4f |GLEVEL =|= DEBUGO|
|00003f90| 4e 0d 0d 23 64 65 66 69 | 6e 65 20 6e 63 68 65 63 |N..#defi|ne nchec|
|00003fa0| 6b 5f 61 63 74 69 6f 6e | 28 61 73 73 65 72 74 69 |k_action|(asserti|
|00003fb0| 6f 6e 2c 20 61 63 74 69 | 6f 6e 29 09 09 09 09 09 |on, acti|on).....|
|00003fc0| 09 09 09 09 09 5c 0d 09 | 64 6f 20 7b 09 09 09 09 |.....\..|do {....|
|00003fd0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00003fe0| 09 5c 0d 09 09 76 6f 69 | 64 2a 09 5f 5f 70 72 69 |.\...voi|d*.__pri|
|00003ff0| 76 61 74 65 41 73 73 65 | 72 74 69 6f 6e 09 3d 20 |vateAsse|rtion.= |
|00004000| 28 76 6f 69 64 2a 29 28 | 61 73 73 65 72 74 69 6f |(void*)(|assertio|
|00004010| 6e 29 3b 09 09 09 09 09 | 5c 0d 09 09 09 09 09 09 |n);.....|\.......|
|00004020| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004030| 09 5c 0d 09 09 69 66 20 | 28 5f 5f 70 72 69 76 61 |.\...if |(__priva|
|00004040| 74 65 41 73 73 65 72 74 | 69 6f 6e 29 20 7b 09 09 |teAssert|ion) {..|
|00004050| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|00004060| 64 70 72 69 6e 74 66 28 | 6e 6f 74 72 61 63 65 2c |dprintf(|notrace,|
|00004070| 20 22 41 73 73 65 72 74 | 69 6f 6e 20 5c 22 21 28 | "Assert|ion \"!(|
|00004080| 25 73 20 5b 3d 20 25 23 | 30 38 58 5d 29 5c 22 20 |%s [= %#|08X])\" |
|00004090| 46 61 69 6c 65 64 22 2c | 09 09 5c 0d 09 09 09 09 |Failed",|..\.....|
|000040a0| 23 61 73 73 65 72 74 69 | 6f 6e 2c 20 5f 5f 70 72 |#asserti|on, __pr|
|000040b0| 69 76 61 74 65 41 73 73 | 65 72 74 69 6f 6e 29 3b |ivateAss|ertion);|
|000040c0| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 7b 20 |........|.\....{ |
|000040d0| 61 63 74 69 6f 6e 20 7d | 09 09 09 09 09 09 09 09 |action }|........|
|000040e0| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 7d 09 09 |........|.\...}..|
|000040f0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004100| 09 09 09 5c 0d 09 7d 20 | 77 68 69 6c 65 20 28 66 |...\..} |while (f|
|00004110| 61 6c 73 65 29 0d 0d 23 | 65 6c 69 66 20 44 45 42 |alse)..#|elif DEB|
|00004120| 55 47 4c 45 56 45 4c 20 | 3d 3d 20 44 45 42 55 47 |UGLEVEL |== DEBUG|
|00004130| 46 55 4c 4c 0d 0d 23 64 | 65 66 69 6e 65 20 6e 63 |FULL..#d|efine nc|
|00004140| 68 65 63 6b 5f 61 63 74 | 69 6f 6e 28 61 73 73 65 |heck_act|ion(asse|
|00004150| 72 74 69 6f 6e 2c 20 61 | 63 74 69 6f 6e 29 09 09 |rtion, a|ction)..|
|00004160| 09 09 09 09 09 09 09 09 | 5c 0d 09 64 6f 20 7b 09 |........|\..do {.|
|00004170| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004180| 09 09 09 09 5c 0d 09 09 | 76 6f 69 64 2a 09 5f 5f |....\...|void*.__|
|00004190| 70 72 69 76 61 74 65 41 | 73 73 65 72 74 69 6f 6e |privateA|ssertion|
|000041a0| 09 3d 20 28 76 6f 69 64 | 2a 29 28 61 73 73 65 72 |.= (void|*)(asser|
|000041b0| 74 69 6f 6e 29 3b 09 09 | 09 09 09 5c 0d 09 09 09 |tion);..|...\....|
|000041c0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000041d0| 09 09 09 09 5c 0d 09 09 | 69 66 20 28 5f 5f 70 72 |....\...|if (__pr|
|000041e0| 69 76 61 74 65 41 73 73 | 65 72 74 69 6f 6e 29 20 |ivateAss|ertion) |
|000041f0| 7b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |{.......|......\.|
|00004200| 09 09 09 64 70 72 69 6e | 74 66 28 6e 6f 74 72 61 |...dprin|tf(notra|
|00004210| 63 65 2c 09 22 41 73 73 | 65 72 74 69 6f 6e 20 5c |ce,."Ass|ertion \|
|00004220| 22 21 28 25 73 20 5b 3d | 20 25 23 30 38 58 5d 29 |"!(%s [=| %#08X])|
|00004230| 5c 22 20 46 61 69 6c 65 | 64 5c 6e 22 09 5c 0d 09 |\" Faile|d\n".\..|
|00004240| 09 09 09 09 09 09 09 09 | 22 46 69 6c 65 3a 20 25 |........|"File: %|
|00004250| 73 5c 6e 22 09 09 09 09 | 09 09 09 09 09 09 5c 0d |s\n"....|......\.|
|00004260| 09 09 09 09 09 09 09 09 | 09 22 4c 69 6e 65 3a 20 |........|."Line: |
|00004270| 25 64 22 2c 09 09 09 09 | 09 09 09 09 09 09 09 5c |%d",....|.......\|
|00004280| 0d 09 09 09 23 61 73 73 | 65 72 74 69 6f 6e 2c 20 |....#ass|ertion, |
|00004290| 5f 5f 70 72 69 76 61 74 | 65 41 73 73 65 72 74 69 |__privat|eAsserti|
|000042a0| 6f 6e 2c 20 5f 5f 46 49 | 4c 45 5f 5f 2c 20 5f 5f |on, __FI|LE__, __|
|000042b0| 4c 49 4e 45 5f 5f 29 3b | 09 09 09 5c 0d 09 09 09 |LINE__);|...\....|
|000042c0| 7b 20 61 63 74 69 6f 6e | 20 7d 09 09 09 09 09 09 |{ action| }......|
|000042d0| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 7d |........|...\...}|
|000042e0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000042f0| 09 09 09 09 09 5c 0d 09 | 7d 20 77 68 69 6c 65 20 |.....\..|} while |
|00004300| 28 66 61 6c 73 65 29 0d | 0d 23 65 6c 73 65 0d 0d |(false).|.#else..|
|00004310| 23 64 65 66 69 6e 65 20 | 6e 63 68 65 63 6b 5f 61 |#define |ncheck_a|
|00004320| 63 74 69 6f 6e 28 61 73 | 73 65 72 74 69 6f 6e 2c |ction(as|sertion,|
|00004330| 20 61 63 74 69 6f 6e 29 | 0d 0d 23 65 6e 64 69 66 | action)|..#endif|
|00004340| 0d 0d 2f 2a 3c 46 46 3e | 2a 2f 0d 2f 2a 2a 2a 2a |../*<FF>|*/./****|
|00004350| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004360| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004370| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004390| 2a 0d 0d 4d 41 43 52 4f | 0d 09 72 65 71 75 69 72 |*..MACRO|..requir|
|000043a0| 65 28 61 73 73 65 72 74 | 69 6f 6e 2c 20 65 78 63 |e(assert|ion, exc|
|000043b0| 65 70 74 69 6f 6e 29 0d | 0d 44 45 53 43 52 49 50 |eption).|.DESCRIP|
|000043c0| 54 49 4f 4e 0d 09 72 65 | 71 75 69 72 65 20 77 69 |TION..re|quire wi|
|000043d0| 6c 6c 20 74 65 73 74 20 | 61 73 73 65 72 74 69 6f |ll test |assertio|
|000043e0| 6e 20 61 6e 64 20 69 66 | 20 69 74 20 66 61 69 6c |n and if| it fail|
|000043f0| 73 3a 0d 09 09 62 72 65 | 61 6b 20 69 6e 74 6f 20 |s:...bre|ak into |
|00004400| 74 68 65 20 64 65 62 75 | 67 67 65 72 20 69 66 20 |the debu|gger if |
|00004410| 64 65 62 75 67 67 69 6e | 67 20 69 73 20 6f 6e 2e |debuggin|g is on.|
|00004420| 0d 09 09 67 6f 74 6f 20 | 65 78 63 65 70 74 69 6f |...goto |exceptio|
|00004430| 6e 2e 0d 0d 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |n...****|********|
|00004440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 0d 23 69 66 09 |********|*/..#if.|
|00004480| 5f 5f 44 45 42 55 47 53 | 4d 41 4c 4c 0d 0d 23 64 |__DEBUGS|MALL..#d|
|00004490| 65 66 69 6e 65 20 72 65 | 71 75 69 72 65 28 61 73 |efine re|quire(as|
|000044a0| 73 65 72 74 69 6f 6e 2c | 20 65 78 63 65 70 74 69 |sertion,| excepti|
|000044b0| 6f 6e 29 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |on).....|......\.|
|000044c0| 09 64 6f 20 7b 09 09 09 | 09 09 09 09 09 09 09 09 |.do {...|........|
|000044d0| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 69 66 |........|..\...if|
|000044e0| 20 28 61 73 73 65 72 74 | 69 6f 6e 29 20 3b 09 09 | (assert|ion) ;..|
|000044f0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|00004500| 09 09 65 6c 73 65 20 7b | 09 09 09 09 09 09 09 09 |..else {|........|
|00004510| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|00004520| 5f 5f 44 65 62 75 67 67 | 65 72 42 72 65 61 6b 3b |__Debugg|erBreak;|
|00004530| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 5c |........|.......\|
|00004540| 0d 09 09 09 67 6f 74 6f | 20 65 78 63 65 70 74 69 |....goto| excepti|
|00004550| 6f 6e 3b 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |on;.....|........|
|00004560| 09 09 5c 0d 09 09 09 72 | 65 73 75 6d 65 4c 61 62 |..\....r|esumeLab|
|00004570| 65 6c 28 65 78 63 65 70 | 74 69 6f 6e 29 3b 09 09 |el(excep|tion);..|
|00004580| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 7d |........|...\...}|
|00004590| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000045a0| 09 09 09 09 09 5c 0d 09 | 7d 20 77 68 69 6c 65 20 |.....\..|} while |
|000045b0| 28 66 61 6c 73 65 29 0d | 0d 23 65 6c 69 66 09 44 |(false).|.#elif.D|
|000045c0| 45 42 55 47 4c 45 56 45 | 4c 20 3d 3d 20 44 45 42 |EBUGLEVE|L == DEB|
|000045d0| 55 47 4f 4e 0d 0d 23 64 | 65 66 69 6e 65 20 72 65 |UGON..#d|efine re|
|000045e0| 71 75 69 72 65 28 61 73 | 73 65 72 74 69 6f 6e 2c |quire(as|sertion,|
|000045f0| 20 65 78 63 65 70 74 69 | 6f 6e 29 09 09 09 09 09 | excepti|on).....|
|00004600| 09 09 09 09 09 09 5c 0d | 09 64 6f 20 7b 09 09 09 |......\.|.do {...|
|00004610| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004620| 09 09 5c 0d 09 09 69 66 | 20 28 61 73 73 65 72 74 |..\...if| (assert|
|00004630| 69 6f 6e 29 20 3b 09 09 | 09 09 09 09 09 09 09 09 |ion) ;..|........|
|00004640| 09 09 09 09 09 09 5c 0d | 09 09 65 6c 73 65 20 7b |......\.|..else {|
|00004650| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004660| 09 09 09 5c 0d 09 09 09 | 64 70 72 69 6e 74 66 28 |...\....|dprintf(|
|00004670| 6e 6f 74 72 61 63 65 2c | 09 22 41 73 73 65 72 74 |notrace,|."Assert|
|00004680| 69 6f 6e 20 5c 22 25 73 | 5c 22 20 46 61 69 6c 65 |ion \"%s|\" Faile|
|00004690| 64 5c 6e 22 09 09 09 09 | 09 5c 0d 09 09 09 09 09 |d\n"....|.\......|
|000046a0| 09 09 09 09 22 45 78 63 | 65 70 74 69 6f 6e 20 5c |...."Exc|eption \|
|000046b0| 22 25 73 5c 22 20 52 61 | 69 73 65 64 22 2c 09 09 |"%s\" Ra|ised",..|
|000046c0| 09 09 09 09 5c 0d 09 09 | 09 23 61 73 73 65 72 74 |....\...|.#assert|
|000046d0| 69 6f 6e 2c 20 23 65 78 | 63 65 70 74 69 6f 6e 29 |ion, #ex|ception)|
|000046e0| 3b 09 09 09 09 09 09 09 | 09 09 09 09 09 5c 0d 09 |;.......|.....\..|
|000046f0| 09 09 67 6f 74 6f 20 65 | 78 63 65 70 74 69 6f 6e |..goto e|xception|
|00004700| 3b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |;.......|........|
|00004710| 5c 0d 09 09 09 72 65 73 | 75 6d 65 4c 61 62 65 6c |\....res|umeLabel|
|00004720| 28 65 78 63 65 70 74 69 | 6f 6e 29 3b 09 09 09 09 |(excepti|on);....|
|00004730| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 7d 09 09 |........|.\...}..|
|00004740| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004750| 09 09 09 5c 0d 09 7d 20 | 77 68 69 6c 65 20 28 66 |...\..} |while (f|
|00004760| 61 6c 73 65 29 0d 0d 23 | 65 6c 69 66 20 44 45 42 |alse)..#|elif DEB|
|00004770| 55 47 4c 45 56 45 4c 20 | 3d 3d 20 44 45 42 55 47 |UGLEVEL |== DEBUG|
|00004780| 46 55 4c 4c 0d 0d 23 64 | 65 66 69 6e 65 20 72 65 |FULL..#d|efine re|
|00004790| 71 75 69 72 65 28 61 73 | 73 65 72 74 69 6f 6e 2c |quire(as|sertion,|
|000047a0| 20 65 78 63 65 70 74 69 | 6f 6e 29 09 09 09 09 09 | excepti|on).....|
|000047b0| 09 09 09 09 09 09 5c 0d | 09 64 6f 20 7b 09 09 09 |......\.|.do {...|
|000047c0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000047d0| 09 09 5c 0d 09 09 69 66 | 20 28 61 73 73 65 72 74 |..\...if| (assert|
|000047e0| 69 6f 6e 29 20 3b 09 09 | 09 09 09 09 09 09 09 09 |ion) ;..|........|
|000047f0| 09 09 09 09 09 09 5c 0d | 09 09 65 6c 73 65 20 7b |......\.|..else {|
|00004800| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004810| 09 09 09 5c 0d 09 09 09 | 64 70 72 69 6e 74 66 28 |...\....|dprintf(|
|00004820| 6e 6f 74 72 61 63 65 2c | 09 22 41 73 73 65 72 74 |notrace,|."Assert|
|00004830| 69 6f 6e 20 5c 22 25 73 | 5c 22 20 46 61 69 6c 65 |ion \"%s|\" Faile|
|00004840| 64 5c 6e 22 09 09 09 09 | 09 5c 0d 09 09 09 09 09 |d\n"....|.\......|
|00004850| 09 09 09 09 22 45 78 63 | 65 70 74 69 6f 6e 20 5c |...."Exc|eption \|
|00004860| 22 25 73 5c 22 20 52 61 | 69 73 65 64 5c 6e 22 09 |"%s\" Ra|ised\n".|
|00004870| 09 09 09 09 5c 0d 09 09 | 09 09 09 09 09 09 09 22 |....\...|......."|
|00004880| 46 69 6c 65 3a 20 25 73 | 5c 6e 22 09 09 09 09 09 |File: %s|\n".....|
|00004890| 09 09 09 09 09 5c 0d 09 | 09 09 09 09 09 09 09 09 |.....\..|........|
|000048a0| 22 4c 69 6e 65 3a 20 25 | 64 22 2c 09 09 09 09 09 |"Line: %|d",.....|
|000048b0| 09 09 09 09 09 09 5c 0d | 09 09 09 09 23 61 73 73 |......\.|....#ass|
|000048c0| 65 72 74 69 6f 6e 2c 20 | 23 65 78 63 65 70 74 69 |ertion, |#excepti|
|000048d0| 6f 6e 2c 20 5f 5f 46 49 | 4c 45 5f 5f 2c 20 5f 5f |on, __FI|LE__, __|
|000048e0| 4c 49 4e 45 5f 5f 29 3b | 09 09 09 09 09 5c 0d 09 |LINE__);|.....\..|
|000048f0| 09 09 67 6f 74 6f 20 65 | 78 63 65 70 74 69 6f 6e |..goto e|xception|
|00004900| 3b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |;.......|........|
|00004910| 5c 0d 09 09 09 72 65 73 | 75 6d 65 4c 61 62 65 6c |\....res|umeLabel|
|00004920| 28 65 78 63 65 70 74 69 | 6f 6e 29 3b 09 09 09 09 |(excepti|on);....|
|00004930| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 7d 09 09 |........|.\...}..|
|00004940| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004950| 09 09 09 5c 0d 09 7d 20 | 77 68 69 6c 65 20 28 66 |...\..} |while (f|
|00004960| 61 6c 73 65 29 0d 0d 23 | 65 6c 73 65 0d 0d 23 64 |alse)..#|else..#d|
|00004970| 65 66 69 6e 65 20 72 65 | 71 75 69 72 65 28 61 73 |efine re|quire(as|
|00004980| 73 65 72 74 69 6f 6e 2c | 20 65 78 63 65 70 74 69 |sertion,| excepti|
|00004990| 6f 6e 29 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |on).....|......\.|
|000049a0| 09 64 6f 20 7b 09 09 09 | 09 09 09 09 09 09 09 09 |.do {...|........|
|000049b0| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 69 66 |........|..\...if|
|000049c0| 20 28 61 73 73 65 72 74 | 69 6f 6e 29 20 3b 09 09 | (assert|ion) ;..|
|000049d0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|000049e0| 09 09 65 6c 73 65 20 7b | 09 09 09 09 09 09 09 09 |..else {|........|
|000049f0| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|00004a00| 67 6f 74 6f 20 65 78 63 | 65 70 74 69 6f 6e 3b 09 |goto exc|eption;.|
|00004a10| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|00004a20| 09 09 09 72 65 73 75 6d | 65 4c 61 62 65 6c 28 65 |...resum|eLabel(e|
|00004a30| 78 63 65 70 74 69 6f 6e | 29 3b 09 09 09 09 09 09 |xception|);......|
|00004a40| 09 09 09 09 09 09 09 5c | 0d 09 09 7d 09 09 09 09 |.......\|...}....|
|00004a50| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004a60| 09 5c 0d 09 7d 20 77 68 | 69 6c 65 20 28 66 61 6c |.\..} wh|ile (fal|
|00004a70| 73 65 29 0d 0d 23 65 6e | 64 69 66 0d 0d 2f 2a 3c |se)..#en|dif../*<|
|00004a80| 46 46 3e 2a 2f 0d 2f 2a | 2a 2a 2a 2a 2a 2a 2a 2a |FF>*/./*|********|
|00004a90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004aa0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004ab0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004ac0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0d 4d 41 |********|****..MA|
|00004ad0| 43 52 4f 0d 09 6e 72 65 | 71 75 69 72 65 28 61 73 |CRO..nre|quire(as|
|00004ae0| 73 65 72 74 69 6f 6e 2c | 20 65 78 63 65 70 74 69 |sertion,| excepti|
|00004af0| 6f 6e 29 0d 0d 44 45 53 | 43 52 49 50 54 49 4f 4e |on)..DES|CRIPTION|
|00004b00| 0d 09 6e 72 65 71 75 69 | 72 65 20 77 69 6c 6c 20 |..nrequi|re will |
|00004b10| 74 65 73 74 20 21 61 73 | 73 65 72 74 69 6f 6e 20 |test !as|sertion |
|00004b20| 61 6e 64 20 69 66 20 69 | 74 20 66 61 69 6c 73 3a |and if i|t fails:|
|00004b30| 0d 09 09 62 72 65 61 6b | 20 69 6e 74 6f 20 74 68 |...break| into th|
|00004b40| 65 20 64 65 62 75 67 67 | 65 72 20 69 66 20 64 65 |e debugg|er if de|
|00004b50| 62 75 67 67 69 6e 67 20 | 69 73 20 6f 6e 2e 0d 09 |bugging |is on...|
|00004b60| 09 67 6f 74 6f 20 65 78 | 63 65 70 74 69 6f 6e 2e |.goto ex|ception.|
|00004b70| 0d 0d 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..******|********|
|00004b80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004b90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004ba0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004bb0| 2a 2a 2a 2a 2a 2a 2a 2f | 0d 0d 23 69 66 09 5f 5f |*******/|..#if.__|
|00004bc0| 44 45 42 55 47 53 4d 41 | 4c 4c 0d 0d 23 64 65 66 |DEBUGSMA|LL..#def|
|00004bd0| 69 6e 65 20 6e 72 65 71 | 75 69 72 65 28 61 73 73 |ine nreq|uire(ass|
|00004be0| 65 72 74 69 6f 6e 2c 20 | 65 78 63 65 70 74 69 6f |ertion, |exceptio|
|00004bf0| 6e 29 09 09 09 09 09 09 | 09 09 09 09 09 5c 0d 09 |n)......|.....\..|
|00004c00| 64 6f 20 7b 09 09 09 09 | 09 09 09 09 09 09 09 09 |do {....|........|
|00004c10| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 69 66 20 |........|.\...if |
|00004c20| 28 61 73 73 65 72 74 69 | 6f 6e 29 20 7b 09 09 09 |(asserti|on) {...|
|00004c30| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 5c 0d 09 |........|.....\..|
|00004c40| 09 09 44 65 62 75 67 53 | 74 72 28 29 3b 09 09 09 |..DebugS|tr();...|
|00004c50| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|00004c60| 09 09 09 67 6f 74 6f 20 | 65 78 63 65 70 74 69 6f |...goto |exceptio|
|00004c70| 6e 3b 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |n;......|........|
|00004c80| 09 5c 0d 09 09 09 72 65 | 73 75 6d 65 4c 61 62 65 |.\....re|sumeLabe|
|00004c90| 6c 28 65 78 63 65 70 74 | 69 6f 6e 29 3b 09 09 09 |l(except|ion);...|
|00004ca0| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 7d 09 |........|..\...}.|
|00004cb0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004cc0| 09 09 09 09 5c 0d 09 7d | 20 77 68 69 6c 65 20 28 |....\..}| while (|
|00004cd0| 66 61 6c 73 65 29 0d 0d | 23 65 6c 69 66 09 44 45 |false)..|#elif.DE|
|00004ce0| 42 55 47 4c 45 56 45 4c | 20 3d 3d 20 44 45 42 55 |BUGLEVEL| == DEBU|
|00004cf0| 47 4f 4e 0d 0d 23 64 65 | 66 69 6e 65 20 6e 72 65 |GON..#de|fine nre|
|00004d00| 71 75 69 72 65 28 61 73 | 73 65 72 74 69 6f 6e 2c |quire(as|sertion,|
|00004d10| 20 65 78 63 65 70 74 69 | 6f 6e 29 09 09 09 09 09 | excepti|on).....|
|00004d20| 09 09 09 09 09 09 5c 0d | 09 64 6f 20 7b 09 09 09 |......\.|.do {...|
|00004d30| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004d40| 09 09 5c 0d 09 09 76 6f | 69 64 2a 09 5f 5f 70 72 |..\...vo|id*.__pr|
|00004d50| 69 76 61 74 65 41 73 73 | 65 72 74 69 6f 6e 09 3d |ivateAss|ertion.=|
|00004d60| 20 28 76 6f 69 64 2a 29 | 28 61 73 73 65 72 74 69 | (void*)|(asserti|
|00004d70| 6f 6e 29 3b 09 09 09 09 | 09 5c 0d 09 09 09 09 09 |on);....|.\......|
|00004d80| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004d90| 09 09 5c 0d 09 09 69 66 | 20 28 5f 5f 70 72 69 76 |..\...if| (__priv|
|00004da0| 61 74 65 41 73 73 65 72 | 74 69 6f 6e 29 20 7b 09 |ateAsser|tion) {.|
|00004db0| 09 09 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 09 |........|....\...|
|00004dc0| 09 64 70 72 69 6e 74 66 | 28 6e 6f 74 72 61 63 65 |.dprintf|(notrace|
|00004dd0| 2c 09 22 41 73 73 65 72 | 74 69 6f 6e 20 5c 22 21 |,."Asser|tion \"!|
|00004de0| 28 25 73 20 5b 3d 20 25 | 23 30 38 58 5d 29 5c 22 |(%s [= %|#08X])\"|
|00004df0| 20 46 61 69 6c 65 64 5c | 6e 22 09 5c 0d 09 09 09 | Failed\|n".\....|
|00004e00| 09 09 09 09 09 09 22 45 | 78 63 65 70 74 69 6f 6e |......"E|xception|
|00004e10| 20 5c 22 25 73 5c 22 20 | 52 61 69 73 65 64 22 2c | \"%s\" |Raised",|
|00004e20| 09 09 09 09 09 09 5c 0d | 09 09 09 09 23 61 73 73 |......\.|....#ass|
|00004e30| 65 72 74 69 6f 6e 2c 20 | 5f 5f 70 72 69 76 61 74 |ertion, |__privat|
|00004e40| 65 41 73 73 65 72 74 69 | 6f 6e 2c 20 23 65 78 63 |eAsserti|on, #exc|
|00004e50| 65 70 74 69 6f 6e 29 3b | 09 09 09 09 09 5c 0d 09 |eption);|.....\..|
|00004e60| 09 09 67 6f 74 6f 20 65 | 78 63 65 70 74 69 6f 6e |..goto e|xception|
|00004e70| 3b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |;.......|........|
|00004e80| 5c 0d 09 09 09 72 65 73 | 75 6d 65 4c 61 62 65 6c |\....res|umeLabel|
|00004e90| 28 65 78 63 65 70 74 69 | 6f 6e 29 3b 09 09 09 09 |(excepti|on);....|
|00004ea0| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 7d 09 09 |........|.\...}..|
|00004eb0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004ec0| 09 09 09 5c 0d 09 7d 20 | 77 68 69 6c 65 20 28 66 |...\..} |while (f|
|00004ed0| 61 6c 73 65 29 0d 0d 23 | 65 6c 69 66 20 44 45 42 |alse)..#|elif DEB|
|00004ee0| 55 47 4c 45 56 45 4c 20 | 3d 3d 20 44 45 42 55 47 |UGLEVEL |== DEBUG|
|00004ef0| 46 55 4c 4c 0d 0d 23 64 | 65 66 69 6e 65 20 6e 72 |FULL..#d|efine nr|
|00004f00| 65 71 75 69 72 65 28 61 | 73 73 65 72 74 69 6f 6e |equire(a|ssertion|
|00004f10| 2c 20 65 78 63 65 70 74 | 69 6f 6e 29 09 09 09 09 |, except|ion)....|
|00004f20| 09 09 09 09 09 09 09 5c | 0d 09 64 6f 20 7b 09 09 |.......\|..do {..|
|00004f30| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004f40| 09 09 09 5c 0d 09 09 76 | 6f 69 64 2a 09 5f 5f 70 |...\...v|oid*.__p|
|00004f50| 72 69 76 61 74 65 41 73 | 73 65 72 74 69 6f 6e 09 |rivateAs|sertion.|
|00004f60| 3d 20 28 76 6f 69 64 2a | 29 28 61 73 73 65 72 74 |= (void*|)(assert|
|00004f70| 69 6f 6e 29 3b 09 09 09 | 09 09 5c 0d 09 09 09 09 |ion);...|..\.....|
|00004f80| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00004f90| 09 09 09 5c 0d 09 09 69 | 66 20 28 5f 5f 70 72 69 |...\...i|f (__pri|
|00004fa0| 76 61 74 65 41 73 73 65 | 72 74 69 6f 6e 29 20 7b |vateAsse|rtion) {|
|00004fb0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 5c 0d 09 |........|.....\..|
|00004fc0| 09 09 64 70 72 69 6e 74 | 66 28 6e 6f 74 72 61 63 |..dprint|f(notrac|
|00004fd0| 65 2c 09 22 41 73 73 65 | 72 74 69 6f 6e 20 5c 22 |e,."Asse|rtion \"|
|00004fe0| 21 28 25 73 20 5b 3d 20 | 25 23 30 38 58 5d 29 5c |!(%s [= |%#08X])\|
|00004ff0| 22 20 46 61 69 6c 65 64 | 5c 6e 22 09 5c 0d 09 09 |" Failed|\n".\...|
|00005000| 09 09 09 09 09 09 09 22 | 45 78 63 65 70 74 69 6f |......."|Exceptio|
|00005010| 6e 20 5c 22 25 73 5c 22 | 20 52 61 69 73 65 64 5c |n \"%s\"| Raised\|
|00005020| 6e 22 09 09 09 09 09 5c | 0d 09 09 09 09 09 09 09 |n".....\|........|
|00005030| 09 09 22 46 69 6c 65 3a | 20 25 73 5c 6e 22 09 09 |.."File:| %s\n"..|
|00005040| 09 09 09 09 09 09 09 09 | 5c 0d 09 09 09 09 09 09 |........|\.......|
|00005050| 09 09 09 22 4c 69 6e 65 | 3a 20 25 64 22 2c 09 09 |..."Line|: %d",..|
|00005060| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 09 23 |........|.\.....#|
|00005070| 61 73 73 65 72 74 69 6f | 6e 2c 20 5f 5f 70 72 69 |assertio|n, __pri|
|00005080| 76 61 74 65 41 73 73 65 | 72 74 69 6f 6e 2c 20 23 |vateAsse|rtion, #|
|00005090| 65 78 63 65 70 74 69 6f | 6e 2c 20 5f 5f 46 49 4c |exceptio|n, __FIL|
|000050a0| 45 5f 5f 2c 09 09 5c 0d | 09 09 09 09 5f 5f 4c 49 |E__,..\.|....__LI|
|000050b0| 4e 45 5f 5f 29 3b 09 09 | 09 09 09 09 09 09 09 09 |NE__);..|........|
|000050c0| 09 09 09 09 09 09 5c 0d | 09 09 09 67 6f 74 6f 20 |......\.|...goto |
|000050d0| 65 78 63 65 70 74 69 6f | 6e 3b 09 09 09 09 09 09 |exceptio|n;......|
|000050e0| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 72 65 |........|.\....re|
|000050f0| 73 75 6d 65 4c 61 62 65 | 6c 28 65 78 63 65 70 74 |sumeLabe|l(except|
|00005100| 69 6f 6e 29 3b 09 09 09 | 09 09 09 09 09 09 09 09 |ion);...|........|
|00005110| 09 09 5c 0d 09 09 7d 09 | 09 09 09 09 09 09 09 09 |..\...}.|........|
|00005120| 09 09 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 7d |........|....\..}|
|00005130| 20 77 68 69 6c 65 20 28 | 66 61 6c 73 65 29 0d 0d | while (|false)..|
|00005140| 23 65 6c 73 65 0d 0d 23 | 64 65 66 69 6e 65 20 6e |#else..#|define n|
|00005150| 72 65 71 75 69 72 65 28 | 61 73 73 65 72 74 69 6f |require(|assertio|
|00005160| 6e 2c 20 65 78 63 65 70 | 74 69 6f 6e 29 09 09 09 |n, excep|tion)...|
|00005170| 09 09 09 09 09 09 09 09 | 5c 0d 09 64 6f 20 7b 09 |........|\..do {.|
|00005180| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005190| 09 09 09 09 5c 0d 09 09 | 69 66 20 28 61 73 73 65 |....\...|if (asse|
|000051a0| 72 74 69 6f 6e 29 20 7b | 09 09 09 09 09 09 09 09 |rtion) {|........|
|000051b0| 09 09 09 09 09 09 09 09 | 5c 0d 09 09 09 67 6f 74 |........|\....got|
|000051c0| 6f 20 65 78 63 65 70 74 | 69 6f 6e 3b 09 09 09 09 |o except|ion;....|
|000051d0| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|000051e0| 72 65 73 75 6d 65 4c 61 | 62 65 6c 28 65 78 63 65 |resumeLa|bel(exce|
|000051f0| 70 74 69 6f 6e 29 3b 09 | 09 09 09 09 09 09 09 09 |ption);.|........|
|00005200| 09 09 09 09 5c 0d 09 09 | 7d 09 09 09 09 09 09 09 |....\...|}.......|
|00005210| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|00005220| 09 7d 20 77 68 69 6c 65 | 20 28 66 61 6c 73 65 29 |.} while| (false)|
|00005230| 0d 0d 23 65 6e 64 69 66 | 0d 0d 2f 2a 3c 46 46 3e |..#endif|../*<FF>|
|00005240| 2a 2f 0d 2f 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*/./****|********|
|00005250| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 0d 4d 41 43 52 4f |********|*..MACRO|
|00005290| 0d 09 72 65 71 75 69 72 | 65 5f 61 63 74 69 6f 6e |..requir|e_action|
|000052a0| 28 61 73 73 65 72 74 69 | 6f 6e 2c 20 65 78 63 65 |(asserti|on, exce|
|000052b0| 70 74 69 6f 6e 2c 20 61 | 63 74 69 6f 6e 29 0d 0d |ption, a|ction)..|
|000052c0| 44 45 53 43 52 49 50 54 | 49 4f 4e 0d 09 72 65 71 |DESCRIPT|ION..req|
|000052d0| 75 69 72 65 5f 61 63 74 | 69 6f 6e 20 77 69 6c 6c |uire_act|ion will|
|000052e0| 20 74 65 73 74 20 61 73 | 73 65 72 74 69 6f 6e 20 | test as|sertion |
|000052f0| 61 6e 64 20 69 66 20 69 | 74 20 66 61 69 6c 73 3a |and if i|t fails:|
|00005300| 0d 09 09 62 72 65 61 6b | 20 69 6e 74 6f 20 74 68 |...break| into th|
|00005310| 65 20 64 65 62 75 67 67 | 65 72 20 69 66 20 64 65 |e debugg|er if de|
|00005320| 62 75 67 67 69 6e 67 20 | 69 73 20 6f 6e 2e 0d 09 |bugging |is on...|
|00005330| 09 65 78 65 63 75 74 65 | 20 61 63 74 69 6f 6e 2e |.execute| action.|
|00005340| 0d 09 09 67 6f 74 6f 20 | 65 78 63 65 70 74 69 6f |...goto |exceptio|
|00005350| 6e 2e 0d 0d 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |n...****|********|
|00005360| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005370| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005390| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 0d 23 69 66 09 |********|*/..#if.|
|000053a0| 5f 5f 44 45 42 55 47 53 | 4d 41 4c 4c 0d 0d 23 64 |__DEBUGS|MALL..#d|
|000053b0| 65 66 69 6e 65 20 72 65 | 71 75 69 72 65 5f 61 63 |efine re|quire_ac|
|000053c0| 74 69 6f 6e 28 61 73 73 | 65 72 74 69 6f 6e 2c 20 |tion(ass|ertion, |
|000053d0| 65 78 63 65 70 74 69 6f | 6e 2c 20 61 63 74 69 6f |exceptio|n, actio|
|000053e0| 6e 29 09 09 09 09 09 09 | 5c 0d 09 64 6f 20 7b 09 |n)......|\..do {.|
|000053f0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005400| 09 09 09 09 5c 0d 09 09 | 69 66 20 28 61 73 73 65 |....\...|if (asse|
|00005410| 72 74 69 6f 6e 29 20 3b | 09 09 09 09 09 09 09 09 |rtion) ;|........|
|00005420| 09 09 09 09 09 09 09 09 | 5c 0d 09 09 65 6c 73 65 |........|\...else|
|00005430| 20 7b 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 | {......|........|
|00005440| 09 09 09 09 09 5c 0d 09 | 09 09 5f 5f 44 65 62 75 |.....\..|..__Debu|
|00005450| 67 67 65 72 42 72 65 61 | 6b 3b 09 09 09 09 09 09 |ggerBrea|k;......|
|00005460| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 7b 20 |........|.\....{ |
|00005470| 61 63 74 69 6f 6e 20 7d | 09 09 09 09 09 09 09 09 |action }|........|
|00005480| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 67 6f |........|.\....go|
|00005490| 74 6f 20 65 78 63 65 70 | 74 69 6f 6e 3b 09 09 09 |to excep|tion;...|
|000054a0| 09 09 09 09 09 09 09 09 | 09 09 09 09 5c 0d 09 09 |........|....\...|
|000054b0| 09 72 65 73 75 6d 65 4c | 61 62 65 6c 28 65 78 63 |.resumeL|abel(exc|
|000054c0| 65 70 74 69 6f 6e 29 3b | 09 09 09 09 09 09 09 09 |eption);|........|
|000054d0| 09 09 09 09 09 5c 0d 09 | 09 7d 09 09 09 09 09 09 |.....\..|.}......|
|000054e0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 5c |........|.......\|
|000054f0| 0d 09 7d 20 77 68 69 6c | 65 20 28 66 61 6c 73 65 |..} whil|e (false|
|00005500| 29 0d 0d 23 65 6c 69 66 | 09 44 45 42 55 47 4c 45 |)..#elif|.DEBUGLE|
|00005510| 56 45 4c 20 3d 3d 20 44 | 45 42 55 47 4f 4e 0d 0d |VEL == D|EBUGON..|
|00005520| 23 64 65 66 69 6e 65 20 | 72 65 71 75 69 72 65 5f |#define |require_|
|00005530| 61 63 74 69 6f 6e 28 61 | 73 73 65 72 74 69 6f 6e |action(a|ssertion|
|00005540| 2c 20 65 78 63 65 70 74 | 69 6f 6e 2c 20 61 63 74 |, except|ion, act|
|00005550| 69 6f 6e 29 09 09 09 09 | 09 09 5c 0d 09 64 6f 20 |ion)....|..\..do |
|00005560| 7b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |{.......|........|
|00005570| 09 09 09 09 09 09 5c 0d | 09 09 69 66 20 28 61 73 |......\.|..if (as|
|00005580| 73 65 72 74 69 6f 6e 29 | 20 3b 09 09 09 09 09 09 |sertion)| ;......|
|00005590| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 65 6c |........|..\...el|
|000055a0| 73 65 20 7b 09 09 09 09 | 09 09 09 09 09 09 09 09 |se {....|........|
|000055b0| 09 09 09 09 09 09 09 5c | 0d 09 09 09 64 70 72 69 |.......\|....dpri|
|000055c0| 6e 74 66 28 6e 6f 74 72 | 61 63 65 2c 09 22 41 73 |ntf(notr|ace,."As|
|000055d0| 73 65 72 74 69 6f 6e 20 | 5c 22 25 73 5c 22 20 46 |sertion |\"%s\" F|
|000055e0| 61 69 6c 65 64 5c 6e 22 | 09 09 09 09 09 5c 0d 09 |ailed\n"|.....\..|
|000055f0| 09 09 09 09 09 09 09 09 | 22 45 78 63 65 70 74 69 |........|"Excepti|
|00005600| 6f 6e 20 5c 22 25 73 5c | 22 20 52 61 69 73 65 64 |on \"%s\|" Raised|
|00005610| 22 2c 09 09 09 09 09 09 | 5c 0d 09 09 09 23 61 73 |",......|\....#as|
|00005620| 73 65 72 74 69 6f 6e 2c | 20 23 65 78 63 65 70 74 |sertion,| #except|
|00005630| 69 6f 6e 29 3b 09 09 09 | 09 09 09 09 09 09 09 09 |ion);...|........|
|00005640| 09 5c 0d 09 09 09 7b 20 | 61 63 74 69 6f 6e 20 7d |.\....{ |action }|
|00005650| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005660| 09 5c 0d 09 09 09 67 6f | 74 6f 20 65 78 63 65 70 |.\....go|to excep|
|00005670| 74 69 6f 6e 3b 09 09 09 | 09 09 09 09 09 09 09 09 |tion;...|........|
|00005680| 09 09 09 09 5c 0d 09 09 | 09 72 65 73 75 6d 65 4c |....\...|.resumeL|
|00005690| 61 62 65 6c 28 65 78 63 | 65 70 74 69 6f 6e 29 3b |abel(exc|eption);|
|000056a0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 5c 0d 09 |........|.....\..|
|000056b0| 09 7d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |.}......|........|
|000056c0| 09 09 09 09 09 09 09 5c | 0d 09 7d 20 77 68 69 6c |.......\|..} whil|
|000056d0| 65 20 28 66 61 6c 73 65 | 29 0d 0d 23 65 6c 69 66 |e (false|)..#elif|
|000056e0| 20 44 45 42 55 47 4c 45 | 56 45 4c 20 3d 3d 20 44 | DEBUGLE|VEL == D|
|000056f0| 45 42 55 47 46 55 4c 4c | 0d 0d 23 64 65 66 69 6e |EBUGFULL|..#defin|
|00005700| 65 20 72 65 71 75 69 72 | 65 5f 61 63 74 69 6f 6e |e requir|e_action|
|00005710| 28 61 73 73 65 72 74 69 | 6f 6e 2c 20 65 78 63 65 |(asserti|on, exce|
|00005720| 70 74 69 6f 6e 2c 20 61 | 63 74 69 6f 6e 29 09 09 |ption, a|ction)..|
|00005730| 09 09 09 09 5c 0d 09 64 | 6f 20 7b 09 09 09 09 09 |....\..d|o {.....|
|00005740| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005750| 5c 0d 09 09 69 66 20 28 | 61 73 73 65 72 74 69 6f |\...if (|assertio|
|00005760| 6e 29 20 3b 09 09 09 09 | 09 09 09 09 09 09 09 09 |n) ;....|........|
|00005770| 09 09 09 09 5c 0d 09 09 | 65 6c 73 65 20 7b 09 09 |....\...|else {..|
|00005780| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005790| 09 5c 0d 09 09 09 64 70 | 72 69 6e 74 66 28 6e 6f |.\....dp|rintf(no|
|000057a0| 74 72 61 63 65 2c 09 22 | 41 73 73 65 72 74 69 6f |trace,."|Assertio|
|000057b0| 6e 20 5c 22 25 73 5c 22 | 20 46 61 69 6c 65 64 5c |n \"%s\"| Failed\|
|000057c0| 6e 22 09 09 09 09 09 5c | 0d 09 09 09 09 09 09 09 |n".....\|........|
|000057d0| 09 09 22 45 78 63 65 70 | 74 69 6f 6e 20 5c 22 25 |.."Excep|tion \"%|
|000057e0| 73 5c 22 20 52 61 69 73 | 65 64 5c 6e 22 09 09 09 |s\" Rais|ed\n"...|
|000057f0| 09 09 5c 0d 09 09 09 09 | 09 09 09 09 09 22 46 69 |..\.....|....."Fi|
|00005800| 6c 65 3a 20 25 73 5c 6e | 22 09 09 09 09 09 09 09 |le: %s\n|".......|
|00005810| 09 09 09 5c 0d 09 09 09 | 09 09 09 09 09 09 22 4c |...\....|......"L|
|00005820| 69 6e 65 3a 20 25 64 22 | 2c 09 09 09 09 09 09 09 |ine: %d"|,.......|
|00005830| 09 09 09 09 5c 0d 09 09 | 09 09 23 61 73 73 65 72 |....\...|..#asser|
|00005840| 74 69 6f 6e 2c 20 23 65 | 78 63 65 70 74 69 6f 6e |tion, #e|xception|
|00005850| 2c 20 5f 5f 46 49 4c 45 | 5f 5f 2c 20 5f 5f 4c 49 |, __FILE|__, __LI|
|00005860| 4e 45 5f 5f 29 3b 09 09 | 09 09 09 5c 0d 09 09 09 |NE__);..|...\....|
|00005870| 7b 20 61 63 74 69 6f 6e | 20 7d 09 09 09 09 09 09 |{ action| }......|
|00005880| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|00005890| 67 6f 74 6f 20 65 78 63 | 65 70 74 69 6f 6e 3b 09 |goto exc|eption;.|
|000058a0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|000058b0| 09 09 09 72 65 73 75 6d | 65 4c 61 62 65 6c 28 65 |...resum|eLabel(e|
|000058c0| 78 63 65 70 74 69 6f 6e | 29 3b 09 09 09 09 09 09 |xception|);......|
|000058d0| 09 09 09 09 09 09 09 5c | 0d 09 09 7d 09 09 09 09 |.......\|...}....|
|000058e0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000058f0| 09 5c 0d 09 7d 20 77 68 | 69 6c 65 20 28 66 61 6c |.\..} wh|ile (fal|
|00005900| 73 65 29 0d 0d 23 65 6c | 73 65 0d 0d 23 64 65 66 |se)..#el|se..#def|
|00005910| 69 6e 65 20 72 65 71 75 | 69 72 65 5f 61 63 74 69 |ine requ|ire_acti|
|00005920| 6f 6e 28 61 73 73 65 72 | 74 69 6f 6e 2c 20 65 78 |on(asser|tion, ex|
|00005930| 63 65 70 74 69 6f 6e 2c | 20 61 63 74 69 6f 6e 29 |ception,| action)|
|00005940| 09 09 09 09 09 09 5c 0d | 09 64 6f 20 7b 09 09 09 |......\.|.do {...|
|00005950| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005960| 09 09 5c 0d 09 09 69 66 | 20 28 61 73 73 65 72 74 |..\...if| (assert|
|00005970| 69 6f 6e 29 20 3b 09 09 | 09 09 09 09 09 09 09 09 |ion) ;..|........|
|00005980| 09 09 09 09 09 09 5c 0d | 09 09 65 6c 73 65 20 7b |......\.|..else {|
|00005990| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|000059a0| 09 09 09 5c 0d 09 09 09 | 7b 20 61 63 74 69 6f 6e |...\....|{ action|
|000059b0| 20 7d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 | }......|........|
|000059c0| 09 09 09 5c 0d 09 09 09 | 67 6f 74 6f 20 65 78 63 |...\....|goto exc|
|000059d0| 65 70 74 69 6f 6e 3b 09 | 09 09 09 09 09 09 09 09 |eption;.|........|
|000059e0| 09 09 09 09 09 09 5c 0d | 09 09 09 72 65 73 75 6d |......\.|...resum|
|000059f0| 65 4c 61 62 65 6c 28 65 | 78 63 65 70 74 69 6f 6e |eLabel(e|xception|
|00005a00| 29 3b 09 09 09 09 09 09 | 09 09 09 09 09 09 09 5c |);......|.......\|
|00005a10| 0d 09 09 7d 09 09 09 09 | 09 09 09 09 09 09 09 09 |...}....|........|
|00005a20| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 7d 20 77 68 |........|.\..} wh|
|00005a30| 69 6c 65 20 28 66 61 6c | 73 65 29 0d 0d 23 65 6e |ile (fal|se)..#en|
|00005a40| 64 69 66 0d 0d 2f 2a 3c | 46 46 3e 2a 2f 0d 2f 2a |dif../*<|FF>*/./*|
|00005a50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005a60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005a70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005a80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005a90| 2a 2a 2a 2a 0d 0d 4d 41 | 43 52 4f 0d 09 6e 72 65 |****..MA|CRO..nre|
|00005aa0| 71 75 69 72 65 5f 61 63 | 74 69 6f 6e 28 61 73 73 |quire_ac|tion(ass|
|00005ab0| 65 72 74 69 6f 6e 2c 20 | 65 78 63 65 70 74 69 6f |ertion, |exceptio|
|00005ac0| 6e 2c 20 61 63 74 69 6f | 6e 29 0d 0d 44 45 53 43 |n, actio|n)..DESC|
|00005ad0| 52 49 50 54 49 4f 4e 0d | 09 6e 72 65 71 75 69 72 |RIPTION.|.nrequir|
|00005ae0| 65 5f 61 63 74 69 6f 6e | 20 77 69 6c 6c 20 74 65 |e_action| will te|
|00005af0| 73 74 20 21 61 73 73 65 | 72 74 69 6f 6e 20 61 6e |st !asse|rtion an|
|00005b00| 64 20 69 66 20 69 74 20 | 66 61 69 6c 73 3a 0d 09 |d if it |fails:..|
|00005b10| 09 62 72 65 61 6b 20 69 | 6e 74 6f 20 74 68 65 20 |.break i|nto the |
|00005b20| 64 65 62 75 67 67 65 72 | 20 69 66 20 64 65 62 75 |debugger| if debu|
|00005b30| 67 67 69 6e 67 20 69 73 | 20 6f 6e 2e 0d 09 09 65 |gging is| on....e|
|00005b40| 78 65 63 75 74 65 20 61 | 63 74 69 6f 6e 2e 0d 09 |xecute a|ction...|
|00005b50| 09 67 6f 74 6f 20 65 78 | 63 65 70 74 69 6f 6e 2e |.goto ex|ception.|
|00005b60| 0d 0d 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..******|********|
|00005b70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005b80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005b90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005ba0| 2a 2a 2a 2a 2a 2a 2a 2f | 0d 0d 23 69 66 09 5f 5f |*******/|..#if.__|
|00005bb0| 44 45 42 55 47 53 4d 41 | 4c 4c 0d 0d 23 64 65 66 |DEBUGSMA|LL..#def|
|00005bc0| 69 6e 65 20 6e 72 65 71 | 75 69 72 65 5f 61 63 74 |ine nreq|uire_act|
|00005bd0| 69 6f 6e 28 61 73 73 65 | 72 74 69 6f 6e 2c 20 65 |ion(asse|rtion, e|
|00005be0| 78 63 65 70 74 69 6f 6e | 2c 20 61 63 74 69 6f 6e |xception|, action|
|00005bf0| 29 09 09 09 09 09 09 5c | 0d 09 64 6f 20 7b 09 09 |)......\|..do {..|
|00005c00| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005c10| 09 09 09 5c 0d 09 09 69 | 66 20 28 61 73 73 65 72 |...\...i|f (asser|
|00005c20| 74 69 6f 6e 29 20 7b 09 | 09 09 09 09 09 09 09 09 |tion) {.|........|
|00005c30| 09 09 09 09 09 09 09 5c | 0d 09 09 09 5f 5f 44 65 |.......\|....__De|
|00005c40| 62 75 67 67 65 72 42 72 | 65 61 6b 3b 09 09 09 09 |buggerBr|eak;....|
|00005c50| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|00005c60| 7b 20 61 63 74 69 6f 6e | 20 7d 09 09 09 09 09 09 |{ action| }......|
|00005c70| 09 09 09 09 09 09 09 09 | 09 09 09 5c 0d 09 09 09 |........|...\....|
|00005c80| 67 6f 74 6f 20 65 78 63 | 65 70 74 69 6f 6e 3b 09 |goto exc|eption;.|
|00005c90| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |........|......\.|
|00005ca0| 09 09 09 72 65 73 75 6d | 65 4c 61 62 65 6c 28 65 |...resum|eLabel(e|
|00005cb0| 78 63 65 70 74 69 6f 6e | 29 3b 09 09 09 09 09 09 |xception|);......|
|00005cc0| 09 09 09 09 09 09 09 5c | 0d 09 09 7d 09 09 09 09 |.......\|...}....|
|00005cd0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005ce0| 09 5c 0d 09 7d 20 77 68 | 69 6c 65 20 28 66 61 6c |.\..} wh|ile (fal|
|00005cf0| 73 65 29 0d 0d 23 65 6c | 69 66 20 44 45 42 55 47 |se)..#el|if DEBUG|
|00005d00| 4c 45 56 45 4c 20 3d 3d | 20 44 45 42 55 47 4f 4e |LEVEL ==| DEBUGON|
|00005d10| 0d 0d 23 64 65 66 69 6e | 65 20 6e 72 65 71 75 69 |..#defin|e nrequi|
|00005d20| 72 65 5f 61 63 74 69 6f | 6e 28 61 73 73 65 72 74 |re_actio|n(assert|
|00005d30| 69 6f 6e 2c 20 65 78 63 | 65 70 74 69 6f 6e 2c 20 |ion, exc|eption, |
|00005d40| 61 63 74 69 6f 6e 29 09 | 09 09 09 09 09 5c 0d 09 |action).|.....\..|
|00005d50| 64 6f 20 7b 09 09 09 09 | 09 09 09 09 09 09 09 09 |do {....|........|
|00005d60| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 76 6f 69 |........|.\...voi|
|00005d70| 64 2a 09 5f 5f 70 72 69 | 76 61 74 65 41 73 73 65 |d*.__pri|vateAsse|
|00005d80| 72 74 69 6f 6e 09 3d 20 | 28 76 6f 69 64 2a 29 28 |rtion.= |(void*)(|
|00005d90| 61 73 73 65 72 74 69 6f | 6e 29 3b 09 09 09 09 09 |assertio|n);.....|
|00005da0| 5c 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |\.......|........|
|00005db0| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 69 66 20 |........|.\...if |
|00005dc0| 28 5f 5f 70 72 69 76 61 | 74 65 41 73 73 65 72 74 |(__priva|teAssert|
|00005dd0| 69 6f 6e 29 20 7b 09 09 | 09 09 09 09 09 09 09 09 |ion) {..|........|
|00005de0| 09 09 09 5c 0d 09 09 09 | 64 70 72 69 6e 74 66 28 |...\....|dprintf(|
|00005df0| 6e 6f 74 72 61 63 65 2c | 09 22 41 73 73 65 72 74 |notrace,|."Assert|
|00005e00| 69 6f 6e 20 5c 22 21 28 | 25 73 20 5b 3d 20 25 23 |ion \"!(|%s [= %#|
|00005e10| 30 38 58 5d 29 5c 22 20 | 46 61 69 6c 65 64 5c 6e |08X])\" |Failed\n|
|00005e20| 22 09 5c 0d 09 09 09 09 | 09 09 09 09 09 22 45 78 |".\.....|....."Ex|
|00005e30| 63 65 70 74 69 6f 6e 20 | 5c 22 25 73 5c 22 20 52 |ception |\"%s\" R|
|00005e40| 61 69 73 65 64 22 2c 09 | 09 09 09 09 09 5c 0d 09 |aised",.|.....\..|
|00005e50| 09 09 09 23 61 73 73 65 | 72 74 69 6f 6e 2c 20 5f |...#asse|rtion, _|
|00005e60| 5f 70 72 69 76 61 74 65 | 41 73 73 65 72 74 69 6f |_private|Assertio|
|00005e70| 6e 2c 20 23 65 78 63 65 | 70 74 69 6f 6e 29 3b 09 |n, #exce|ption);.|
|00005e80| 09 09 09 09 5c 0d 09 09 | 09 7b 20 61 63 74 69 6f |....\...|.{ actio|
|00005e90| 6e 20 7d 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |n }.....|........|
|00005ea0| 09 09 09 09 5c 0d 09 09 | 09 67 6f 74 6f 20 65 78 |....\...|.goto ex|
|00005eb0| 63 65 70 74 69 6f 6e 3b | 09 09 09 09 09 09 09 09 |ception;|........|
|00005ec0| 09 09 09 09 09 09 09 5c | 0d 09 09 09 72 65 73 75 |.......\|....resu|
|00005ed0| 6d 65 4c 61 62 65 6c 28 | 65 78 63 65 70 74 69 6f |meLabel(|exceptio|
|00005ee0| 6e 29 3b 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |n);.....|........|
|00005ef0| 5c 0d 09 09 7d 09 09 09 | 09 09 09 09 09 09 09 09 |\...}...|........|
|00005f00| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 7d 20 77 |........|..\..} w|
|00005f10| 68 69 6c 65 20 28 66 61 | 6c 73 65 29 0d 0d 23 65 |hile (fa|lse)..#e|
|00005f20| 6c 69 66 20 44 45 42 55 | 47 4c 45 56 45 4c 20 3d |lif DEBU|GLEVEL =|
|00005f30| 3d 20 44 45 42 55 47 46 | 55 4c 4c 0d 0d 23 64 65 |= DEBUGF|ULL..#de|
|00005f40| 66 69 6e 65 20 6e 72 65 | 71 75 69 72 65 5f 61 63 |fine nre|quire_ac|
|00005f50| 74 69 6f 6e 28 61 73 73 | 65 72 74 69 6f 6e 2c 20 |tion(ass|ertion, |
|00005f60| 65 78 63 65 70 74 69 6f | 6e 2c 20 61 63 74 69 6f |exceptio|n, actio|
|00005f70| 6e 29 09 09 09 09 09 09 | 5c 0d 09 64 6f 20 7b 09 |n)......|\..do {.|
|00005f80| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005f90| 09 09 09 09 5c 0d 09 09 | 76 6f 69 64 2a 09 5f 5f |....\...|void*.__|
|00005fa0| 70 72 69 76 61 74 65 41 | 73 73 65 72 74 69 6f 6e |privateA|ssertion|
|00005fb0| 09 3d 20 28 76 6f 69 64 | 2a 29 28 61 73 73 65 72 |.= (void|*)(asser|
|00005fc0| 74 69 6f 6e 29 3b 09 09 | 09 09 09 5c 0d 09 09 09 |tion);..|...\....|
|00005fd0| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |........|........|
|00005fe0| 09 09 09 09 5c 0d 09 09 | 69 66 20 28 5f 5f 70 72 |....\...|if (__pr|
|00005ff0| 69 76 61 74 65 41 73 73 | 65 72 74 69 6f 6e 29 20 |ivateAss|ertion) |
|00006000| 7b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 5c 0d |{.......|......\.|
|00006010| 09 09 09 64 70 72 69 6e | 74 66 28 6e 6f 74 72 61 |...dprin|tf(notra|
|00006020| 63 65 2c 09 22 41 73 73 | 65 72 74 69 6f 6e 20 5c |ce,."Ass|ertion \|
|00006030| 22 21 28 25 73 20 5b 3d | 20 25 23 30 38 58 5d 29 |"!(%s [=| %#08X])|
|00006040| 5c 22 20 46 61 69 6c 65 | 64 5c 6e 22 09 5c 0d 09 |\" Faile|d\n".\..|
|00006050| 09 09 09 09 09 09 09 09 | 22 45 78 63 65 70 74 69 |........|"Excepti|
|00006060| 6f 6e 20 5c 22 25 73 5c | 22 20 52 61 69 73 65 64 |on \"%s\|" Raised|
|00006070| 5c 6e 22 09 09 09 09 09 | 5c 0d 09 09 09 09 09 09 |\n".....|\.......|
|00006080| 09 09 09 22 46 69 6c 65 | 3a 20 25 73 5c 6e 22 09 |..."File|: %s\n".|
|00006090| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 09 09 09 09 |........|.\......|
|000060a0| 09 09 09 09 22 4c 69 6e | 65 3a 20 25 64 22 2c 09 |...."Lin|e: %d",.|
|000060b0| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 09 09 |........|..\.....|
|000060c0| 23 61 73 73 65 72 74 69 | 6f 6e 2c 20 5f 5f 70 72 |#asserti|on, __pr|
|000060d0| 69 76 61 74 65 41 73 73 | 65 72 74 69 6f 6e 2c 20 |ivateAss|ertion, |
|000060e0| 23 65 78 63 65 70 74 69 | 6f 6e 2c 20 5f 5f 46 49 |#excepti|on, __FI|
|000060f0| 4c 45 5f 5f 2c 09 09 5c | 0d 09 09 09 09 5f 5f 4c |LE__,..\|.....__L|
|00006100| 49 4e 45 5f 5f 29 3b 09 | 09 09 09 09 09 09 09 09 |INE__);.|........|
|00006110| 09 09 09 09 09 09 09 5c | 0d 09 09 09 7b 20 61 63 |.......\|....{ ac|
|00006120| 74 69 6f 6e 20 7d 09 09 | 09 09 09 09 09 09 09 09 |tion }..|........|
|00006130| 09 09 09 09 09 09 09 5c | 0d 09 09 09 67 6f 74 6f |.......\|....goto|
|00006140| 20 65 78 63 65 70 74 69 | 6f 6e 3b 09 09 09 09 09 | excepti|on;.....|
|00006150| 09 09 09 09 09 09 09 09 | 09 09 5c 0d 09 09 09 72 |........|..\....r|
|00006160| 65 73 75 6d 65 4c 61 62 | 65 6c 28 65 78 63 65 70 |esumeLab|el(excep|
|00006170| 74 69 6f 6e 29 3b 09 09 | 09 09 09 09 09 09 09 09 |tion);..|........|
|00006180| 09 09 09 5c 0d 09 09 7d | 09 09 09 09 09 09 09 09 |...\...}|........|
|00006190| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 5c 0d 09 |........|.....\..|
|000061a0| 7d 20 77 68 69 6c 65 20 | 28 66 61 6c 73 65 29 0d |} while |(false).|
|000061b0| 0d 23 65 6c 73 65 0d 0d | 23 64 65 66 69 6e 65 20 |.#else..|#define |
|000061c0| 6e 72 65 71 75 69 72 65 | 5f 61 63 74 69 6f 6e 28 |nrequire|_action(|
|000061d0| 61 73 73 65 72 74 69 6f | 6e 2c 20 65 78 63 65 70 |assertio|n, excep|
|000061e0| 74 69 6f 6e 2c 20 61 63 | 74 69 6f 6e 29 09 09 09 |tion, ac|tion)...|
|000061f0| 09 09 09 5c 0d 09 64 6f | 20 7b 09 09 09 09 09 09 |...\..do| {......|
|00006200| 09 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 5c |........|.......\|
|00006210| 0d 09 09 69 66 20 28 61 | 73 73 65 72 74 69 6f 6e |...if (a|ssertion|
|00006220| 29 20 7b 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |) {.....|........|
|00006230| 09 09 09 5c 0d 09 09 09 | 7b 20 61 63 74 69 6f 6e |...\....|{ action|
|00006240| 20 7d 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 | }......|........|
|00006250| 09 09 09 5c 0d 09 09 09 | 67 6f 74 6f 20 65 78 63 |...\....|goto exc|
|00006260| 65 70 74 69 6f 6e 3b 09 | 09 09 09 09 09 09 09 09 |eption;.|........|
|00006270| 09 09 09 09 09 09 5c 0d | 09 09 09 72 65 73 75 6d |......\.|...resum|
|00006280| 65 4c 61 62 65 6c 28 65 | 78 63 65 70 74 69 6f 6e |eLabel(e|xception|
|00006290| 29 3b 09 09 09 09 09 09 | 09 09 09 09 09 09 09 5c |);......|.......\|
|000062a0| 0d 09 09 7d 09 09 09 09 | 09 09 09 09 09 09 09 09 |...}....|........|
|000062b0| 09 09 09 09 09 09 09 09 | 09 5c 0d 09 7d 20 77 68 |........|.\..} wh|
|000062c0| 69 6c 65 20 28 66 61 6c | 73 65 29 0d 0d 23 65 6e |ile (fal|se)..#en|
|000062d0| 64 69 66 0d 09 0d 2f 2a | 3c 46 46 3e 2a 2f 0d 2f |dif.../*|<FF>*/./|
|000062e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000062f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00006320| 2a 2a 2a 2a 2a 0d 0d 4d | 41 43 52 4f 0d 09 72 65 |*****..M|ACRO..re|
|00006330| 73 75 6d 65 28 65 78 63 | 65 70 74 69 6f 6e 29 0d |sume(exc|eption).|
|00006340| 0d 44 45 53 43 52 49 50 | 54 49 4f 4e 0d 09 72 65 |.DESCRIP|TION..re|
|00006350| 73 75 6d 65 20 77 69 6c | 6c 20 72 65 73 75 6d 65 |sume wil|l resume|
|00006360| 20 65 78 65 63 75 74 69 | 6f 6e 20 61 66 74 65 72 | executi|on after|
|00006370| 20 74 68 65 20 6e 2f 72 | 65 71 75 69 72 65 2f 5f | the n/r|equire/_|
|00006380| 61 63 74 69 6f 6e 20 73 | 74 61 74 65 6d 65 6e 74 |action s|tatement|
|00006390| 0d 09 73 70 65 63 69 66 | 69 65 64 20 62 79 20 65 |..specif|ied by e|
|000063a0| 78 63 65 70 74 69 6f 6e | 2e 20 52 65 73 75 6d 65 |xception|. Resume|
|000063b0| 20 6c 61 62 6c 65 73 20 | 6d 75 73 74 20 62 65 20 | lables |must be |
|000063c0| 6f 6e 20 28 74 68 65 20 | 64 65 66 61 75 6c 74 29 |on (the |default)|
|000063d0| 20 69 6e 0d 09 6f 72 64 | 65 72 20 74 6f 20 75 73 | in..ord|er to us|
|000063e0| 65 20 72 65 73 75 6d 65 | 2e 20 49 66 20 61 6e 20 |e resume|. If an |
|000063f0| 61 63 74 69 6f 6e 20 66 | 6f 72 6d 20 6f 66 20 72 |action f|orm of r|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.